commit 9bff691192b64e579bdd152a5eb817bef6e6632c Author: adjoly Date: Wed May 28 12:10:02 2025 +0200 「🎉」 init: hello world ! diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..8a7c49d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,25 @@ +services: + webserver: + container_name: random-shit + build: + context: . + dockerfile: docker/dockerfile + networks: + - traefik-back + # ports: + # - 80:80 + restart: unless-stopped + labels: + - traefik.enable=true + - traefik.docker.network=traefik-back + + - traefik.http.routers.random-shit.rule=host(`random-shit.kanel.ovh`) + - traefik.http.routers.random-shit.entrypoints=websecure + - traefik.http.routers.random-shit.tls.certresolver=letsencrypt + - traefik.http.routers.random-shit.tls=true + + - traefik.http.services.random-shit.loadbalancer.server.port=80 + - traefik.http.routers.random-shit.service=random-shit +networks: + traefik-back: + external: true diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..844616d --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,4 @@ +FROM caddy:latest + +COPY src /usr/share/caddy +#COPY Caddyfile /etc/caddy/Caddyfile diff --git a/src/42_evals/Cursus/Born2beroot/README.md b/src/42_evals/Cursus/Born2beroot/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Born2beroot/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Born2beroot/img/all.jpg b/src/42_evals/Cursus/Born2beroot/img/all.jpg new file mode 100755 index 0000000..51efa26 Binary files /dev/null and b/src/42_evals/Cursus/Born2beroot/img/all.jpg differ diff --git a/src/42_evals/Cursus/Born2beroot/index.html b/src/42_evals/Cursus/Born2beroot/index.html new file mode 100644 index 0000000..b04bb7e --- /dev/null +++ b/src/42_evals/Cursus/Born2beroot/index.html @@ -0,0 +1,652 @@ + + + + + + + + Born2beroot correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminaries

+

If a case of cheating is suspected, grading and evaluation end immediately. To + report it, select the "Cheat" flag. Be careful to use it calmly, cautiously, and judiciously.

+
+

Preliminary Tests

+

+

+

Verify the following points:

+
    +
  • The conditions for access to the defense are met: the evaluated person(s) is present, the submission + is non-empty and truly belongs to them, etc...
  • +
  • For this project, you must clone the Git repository on the computer of the person being evaluated. +
  • +
+
+ + +
+ + + + +
+
+
+
+
+
+

General Instructions

+

+
+

General Guidelines

+

+

+
    +
  • During the defense, as soon as you need help to verify a point, the evaluated person must assist you. +
  • +
  • Check that the "signature.txt" file is present at the root of the cloned repository.
  • +
  • Ensure that the signature contained in "signature.txt" matches that of the ".vdi" file of the virtual + machine being evaluated. A simple diff should allow you to compare the two signatures. If needed, ask + the evaluated person where their ".vdi" file is located.
  • +
  • As a precaution, you may duplicate the original virtual machine to keep a copy.
  • +
  • Launch the virtual machine to be evaluated.
  • +
  • If something does not work as expected or the two signatures differ, the evaluation stops here.
  • +
+
+ + +
+ + + + +
+
+
+
+
+
+

Mandatory Part

+

The project involves creating and configuring a virtual machine following strict + rules. The evaluated person will need to assist you during the defense. Make sure all the following + points are respected.

+
+

Project Overview

+

+

+
    +
  • The evaluated person must simply explain: +
      +
    • The basic functioning of their virtual machine
    • +
    • Their choice of operating system
    • +
    • The basic differences between Rocky and Debian
    • +
    • The benefits of virtual machines
    • +
    • If the chosen operating system is Rocky, they must explain what SELinux and DNF are.
    • +
    • If the chosen operating system is Debian, they must explain the difference between aptitude and + apt, and what APPArmor is. During the defense, a script must display information every 10 minutes. + Its operation will be checked in detail later. If the explanations are not clear, the evaluation + stops here.
    • +
    +
  • +
+
+ + +
+ + + + +
+
+

Simple Configuration

+

+

+

Reminder: as soon as you need help to verify a point, the evaluated person must be able to assist you. +

+
    +
  • Verify that the machine does not have a graphical environment at startup. A password will be requested + before any connection attempt on this machine. Log in with a non-root user. Verify that the chosen + password respects the rules imposed in the subject. Then, with the help of the evaluator, make sure + that:
  • +
  • The chosen operating system is indeed Debian or Rocky
  • +
  • The UFW service is properly launched
  • +
  • The SSH service is properly launched. If something does not work as expected or is not clearly + explained, the evaluation stops here.
  • +
+
+ + +
+ + + + +
+
+

User

+

+

+

Reminder: as soon as you need help to check a point, the evaluated person must be able to assist you.

+

The subject requires that a user with the login name of the evaluated person be present on the virtual + machine. Verify that this user has been added and that they belong to the "sudo" and "user42" groups.

+

Ensure the rules imposed in the subject concerning the password policy have been implemented by following + the steps below.
+ First, create a new user. Assign them a password of your choice, respecting the subject's rules.
+ The evaluated person must now explain how they were able to implement the requested rules on their virtual + machine.
+ Normally, one or two files would have been modified.
+ If there is any problem, the evaluation stops here.

+
    +
  • +

    Now that you have a new user, ask the evaluated person to create a group named "evaluating" in front + of you and assign it to this user.
    + Finally, check that this user indeed belongs to the "evaluating" group.

    +
  • +
  • +

    To finish, ask the evaluated person to explain the purpose of this password policy, as well as the + advantages and disadvantages of its implementation. Of course, answering that it is because the + subject requires it does not count.
    + If something does not work as expected or is not clearly explained, the evaluation stops here.

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

Hostname and Partitions

+

+

+

Reminder: as soon as you need help to check a point, the evaluated person must be able to assist you.

+
    +
  • Verify that the hostname of the machine is formatted as follows: login42 (login of the evaluated + person).
  • +
  • Change this hostname by replacing the login with yours, then restart the machine. If upon restarting, + the hostname has not been updated, the evaluation stops here.
  • +
  • You can now restore the original hostname of the machine.
  • +
  • Ask the evaluated person how to display the partitions of their virtual machine.
  • +
  • Compare the output with the example given in the subject. Note: if the evaluated person has done the + bonuses, you should refer to the example from the bonus part.
  • +
+

This part is an opportunity to discuss partitions! The evaluated person must give you a brief explanation + of how LVM works and why it's beneficial.
+ If something does not work as expected or is not clearly explained, the evaluation stops here.

+
+ + +
+ + + + +
+
+

SUDO

+

+

+

Reminder: as soon as you need help to check a point, the evaluated person must be able to assist you.

+
    +
  • Verify that the "sudo" program is indeed installed on the virtual machine.
  • +
  • The evaluated person must now show how to assign your new user to the "sudo" group.
  • +
  • The subject imposes strict rules for sudo. The evaluated person must first explain the purpose and + operation of sudo with examples of their choice. Then, they must demonstrate the implementation of the + rules imposed by the subject.
  • +
  • Verify that the "/var/log/sudo/" directory exists and contains at least one file. Check the contents + of the files in this directory; you should see a history of commands used with sudo. Finally, attempt to + run a command via sudo. Check if the file(s) in the "/var/log/sudo/" directory have been updated. If + something does not work as expected or is not clearly explained, the evaluation stops here.
  • +
+
+ + +
+ + + + +
+
+

UFW / Firewalld

+

+

+

Reminder: as soon as you need help to check a point, the evaluated person must be able to assist you.

+
    +
  • Verify that the "UFW" (or "Firewalld" for rocky) program is indeed installed on the virtual machine. +
  • +
  • Verify that it is functioning correctly.
  • +
  • The evaluated person must give you a basic explanation of what UFW (or "Firewalld") is and why it's + important to use it.
  • +
  • List the active rules in UFW (or "Firewalld"). There should be a rule for port 4242.
  • +
  • Add a new rule to open port 8080. Verify that it has been added by listing the active rules.
  • +
  • Finally, with the help of the evaluated person, delete this new rule. If something does not work as + expected or is not clearly explained, the evaluation stops here.
  • +
+
+ + +
+ + + + +
+
+

SSH

+

+

+

Reminder: as soon as you need help to check a point, the evaluated person must be able to assist you.

+
    +
  • Verify that the SSH service is indeed installed on the virtual machine.
  • +
  • Verify that it is functioning correctly.
  • +
  • The evaluated person must give you a basic explanation of what SSH is and why it's important to use + it.
  • +
  • Verify that the SSH service uses only port 4242.
  • +
  • The evaluated person must help you use SSH to connect with the new user created. For this, you can use + a key or a simple password, depending on the evaluated person. Of course, you must ensure that SSH + cannot be used with the "root" user as indicated in the subject. If something does not work as expected + or is not clearly explained, the evaluation stops here.
  • +
+
+ + +
+ + + + +
+
+

Script Monitoring

+

+

+

Reminder: as soon as you need help to check a point, the evaluated person must be able to assist you.

+

The evaluated person must simply explain:

+
    +
  • The operation of their script by displaying its code
  • +
  • What "cron" is
  • +
  • How they have set up their script to execute every 10 minutes from server launch. Once the proper + functioning of the script is verified, the evaluated person must make sure that this script executes + every minute. You can launch whatever you wish to ensure that the script runs correctly with dynamic + values. Finally, the evaluated person must ensure that the script no longer runs at server launch, + without modifying the script itself. To verify this point, the server will need to be restarted one last + time. At startup, it must be verified that the script still exists in the same place, that its + permissions have remained unchanged, and that it has not been modified. If any of the above points are + not correct, the evaluation stops here.
  • +
+
+ + +
+ + + + +
+
+
+
+
+
+

Bonus

+

Bonuses will only be examined if the mandatory part is excellent. This means that + the mandatory part must have been completed from start to finish, with perfect error management even in + cases of unexpected use. If all mandatory points have not been awarded during this defense, no bonus + points will be counted.

+
+

Bonus

+

+

+

Verify with the help of the subject and the evaluated person the available bonuses for this project:

+
    +
  • The implementation of partitions will be worth 2 points
  • +
  • The setup of WordPress, with only the services listed in the subject, will be worth 2 points
  • +
  • The free-choice service will be worth 1 point. Verify and test the proper functioning and + implementation of each additional service. For the free-choice bonus service, the evaluated person must + provide a simple explanation of the service and explain the reasons for their choice. Be aware: NGINX + and Apache2 are forbidden.
  • +
+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+
+
+
+
+
+

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+ + + +
+
+ + + diff --git a/src/42_evals/Cursus/CPP00/README.md b/src/42_evals/Cursus/CPP00/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP00/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP00/img/all.jpg b/src/42_evals/Cursus/CPP00/img/all.jpg new file mode 100755 index 0000000..cfb4c4a Binary files /dev/null and b/src/42_evals/Cursus/CPP00/img/all.jpg differ diff --git a/src/42_evals/Cursus/CPP00/index.html b/src/42_evals/Cursus/CPP00/index.html new file mode 100644 index 0000000..9b6090f --- /dev/null +++ b/src/42_evals/Cursus/CPP00/index.html @@ -0,0 +1,483 @@ + + + + + + + CPP Module 00 correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to + report it. Take this decision calmly, wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) functions or containers are NOT expected.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of "using namespace <ns_name>" or the "friend" keyword.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+ +

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

Exercise 00 : Megaphone

+

This exercise is a warm-up to discover I/O in C++.

+
+

Operation

+

The goal is to develop a to_upper with specific behavior if launched without parameters. It must be + solved + with a C++ approach (string/upper).

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

Exercise 01 : My Awesome Phonebook

+

This exercise is a first approach to writing a simple class and using it in an + interactive program. If the exercise does not work perfectly, rate what can be graded.

+
+

Error management

+

There is some error management to do in this program but the behaviors are not + specified in the subject. Exiting the program properly or managing errors is ok. A segfault is not! :D +

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+

The EXIT command

+

Write down the EXIT command based on what is in the subject line. +

+
+ + +
+ + + + +
+
+

Visibility

+

Contact class attributes must be private. The class must expose the corresponding accessors. Also check + that anything used only in one class (and not just the Contact class) is private and the rest public. + Beginners tend to to make everything public. That's what you need to check here.

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+

Contact and Phonebook Classes

+

The code must include a Contact class (or other name). The class must contain the requested attributes. + The code must contain a Phonebook class with an array of Contacts inside.

+
+ + +
+ + + + +
+
+

Read/Eval Loop

+

The program should offer a sort of read/eval loop: Read then process input, then wait for new input + until receiving an EXIT command. The loop should be done in a C++ way (std::cin).

+
+ + +
+ + + + +
+
+

The ADD command

+

Make a note of the ADD command based on what is in the subject line.

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+ +

The SEARCH command

+

Write down the SEARCH command based on what is + requested in the subject line. A slight deviation from the expected format is not important. This part + is about using "iomanips" in C++ and that's what you need to focus on.

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+
+
+
+
+

Exercise 02 : The Job of Your Dreams

+

The aim of this exercise is to recover information hidden amidst the noise and + insert code into an existing context.

+
+

Did you save the world?

+

This exercise is pretty straightforward. Either Account.cpp works, or it doesn't or it doesn't. Compare + the program's output with the log file provided. Any difference (except for timestamps or destructor + order) means that the exercise is incorrect.

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + + + diff --git a/src/42_evals/Cursus/CPP01/README.md b/src/42_evals/Cursus/CPP01/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP01/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP01/img/all.jpg b/src/42_evals/Cursus/CPP01/img/all.jpg new file mode 100755 index 0000000..2963cfa Binary files /dev/null and b/src/42_evals/Cursus/CPP01/img/all.jpg differ diff --git a/src/42_evals/Cursus/CPP01/index.html b/src/42_evals/Cursus/CPP01/index.html new file mode 100755 index 0000000..21d43c9 --- /dev/null +++ b/src/42_evals/Cursus/CPP01/index.html @@ -0,0 +1,882 @@ + + + + + + + CPP Module 01 correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to + report it. Take this decision calmly, wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) functions or containers are NOT expected.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of "using namespace <ns_name>" or the "friend" keyword.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+ +

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

Exercise 00: BraiiiiiiinnnzzzZ

+

The goal of this exercise is to understand how to allocate memory in C++. +

+
+

Makefile and tests

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is at least a main to test the exercise.

+ +

+
+ + +
+ + + + +
+
+

Zombie Class

+

+

+

There is a Zombie Class.
+ It has a private name attribute.
+ It has at least a constructor.
+ It has a member function announce( void ) that prints: "<name>: BraiiiiiiinnnzzzZ..."
+ The destructor prints a debug message that includes the name of the zombie.

+ +

+
+ + +
+ + + + +
+
+

newZombie

+

+

+

There is a newZombie() function prototyped as: [ Zombie* newZombie( std::string name ); ]
+ It should allocate a Zombie on the heap and return it.
+ Ideally, it should call the constructor that takes a string and initializes
+ the name.
+ The exercise should be marked as correct if the Zombie can announce itself
+ with the name passed to the function.
+ There are tests to prove everything works.
+ The zombie is deleted correctly before the end of the program.

+ +

+
+ + +
+ + + + +
+
+

randomChump

+

+

+

There is a randomChump() function prototyped as: [ void randomChump( std::string name ); ]
+ It should create a Zombie on the stack, and make it announce itself.
+ Ideally the zombie should be allocated on the stack (so implicitly deleted
+ at the end of the function). It can also be allocated on the heap and then
+ explicitly deleted.
+ The student must justify their choices.
+ There are tests to prove everything works.

+ +

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

Exercise 01: Moar brainz!

+

The goal of this exercise is to allocate a number of objects at the same time + using new[], initialize them, and to properly delete them. +

+
+

Makefile and tests

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is at least a main to test the exercise.

+ +

+
+ + +
+ + + + +
+
+

zombieHorde

+

+

+

The Zombie Class has a default constructor.
+ There is a zombieHorde() function prototyped as: [ Zombie* zombieHorde( int N, std::string name ); + ]
+ It allocates N zombies on the heap explicitly using new[].
+ After the allocation, there is an initialization of the objects to set their name.
+ It returns a pointer to the first zombie.
+ There are enough tests in the main to prove the previous points.
+ Like: calling announce() on all the zombies.
+ Last, all the zombies should be deleted at the same time in the main.

+ +

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

Exercise 02: HI THIS IS BRAIN

+

Demystify references! Demystify references! Demystify references! + Demystify references! Demystify references! Demystify references! + Demystify references! Demystify references! Demystify references! + Demystify references! Demystify references! Demystify references! +

+
+

Makefile and tests

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is at least a main to test the exercise.

+ +

+
+ + +
+ + + + +
+
+

HI THIS IS BRAIN

+

+

+

There is a string containing "HI THIS IS BRAIN".
+ stringPTR is a pointer to the string.
+ stringREF is a reference to the string.
+ The address of the string is displayed using the string variable, the
+ stringPTR and the stringREF.
+ The variable content is displayed using the stringPTR and the stringREF.

+ +

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

Exercise 03: Unnecessary violence

+

The objective of this exercise is to understand that pointers and references + present some small differences that make them less or more appropriate + depending on the use and the lifecycle of the object used. +

+
+

Makefile and tests

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is at least a main to test the exercise.

+ +

+
+ + +
+ + + + +
+
+

Weapon

+

+

+

There is a Weapon class that has a type string, a getType() and a setType().
+ The getType() function returns a const reference to the type string.

+ +

+
+ + +
+ + + + +
+
+

HumanA and HumanB

+

+

+

HumanA can have a reference or a pointer to the Weapon.
+ Ideally, it should be implemented as a reference, since the Weapon exists
+ from creation until destruction, and never changes.
+ HumanB must have a pointer to a Weapon since the field is not set at
+ creation time, and the weapon can be NULL.

+ +

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

Exercise 04: Sed is for losers

+

Thanks to this exercise, the student should have gotten familiar with + ifstream and ofstream. +

+
+

Makefile and tests

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is at least a main to test the exercise.

+ +

+
+ + +
+ + + + +
+
+

Exercise 04

+

+

+

There is a function replace (or other name) that works as specified in the
+ subject.
+ The error management is efficient: try to pass a file that does not exist,
+ change the permissions, pass it empty, etc.
+ If you can find an error that isn't handled, and isn't completely esoteric,
+ no points for this exercise.
+ The program must read from the file using an ifstream or equivalent,
+ and write using an ofstream or equivalent.
+ The implementation of the function should be done using functions from
+ std::string, no by reading the string character by character.
+ This is not C anymore!

+ +

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

Exercise 05: Harl 2.0

+

The goal of this exercise is to use pointers to class member functions. + Also, this is the opportunity to discover the different log levels. +

+
+

Makefile and tests

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is at least a main to test the exercise.

+ +

+
+ + +
+ + + + +
+
+

Our beloved Harl

+

+

+

There is a class Harl with at least the 5 functions required in the subject.
+ The function complain() executes the other functions using a pointer to them.
+ Ideally, the student should have implemented a way of matching the different
+ strings corresponding to the log level to the pointers of the corresponding
+ member function.
+ If the implementation is different but the exercise works, you should mark
+ it as valid. The only thing that is not allowed is using a ugly if/elseif/else.
+ The student could have chosen to change the message Harl displays or to
+ display the examples given in the subject, both are valid.

+ +

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

Exercise 06: Harl filter

+

Now that you are experienced coders, you should use new instruction types, + statements, loops, etc. The goal of this last exercise is to make you + discover the switch statement. +

+
+

Makefile and tests

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is at least a main to test the exercise.

+ +

+
+ + +
+ + + + +
+
+

Switching Harl Off

+

+

+

The program harlFilter takes as argument any of the log levels ("DEBUG",
+ "INFO", "WARNING" or "ERROR"). It should then display just the messages
+ that are at the same level or above (DEBUG < INFO < WARNING < ERROR). This
+ must be implemented using a switch statement with a default case.
+ Once again, no if/elseif/else anymore please.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + + + diff --git a/src/42_evals/Cursus/CPP02/README.md b/src/42_evals/Cursus/CPP02/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP02/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP02/img/all.jpg b/src/42_evals/Cursus/CPP02/img/all.jpg new file mode 100755 index 0000000..dd5c301 Binary files /dev/null and b/src/42_evals/Cursus/CPP02/img/all.jpg differ diff --git a/src/42_evals/Cursus/CPP02/index.html b/src/42_evals/Cursus/CPP02/index.html new file mode 100755 index 0000000..3097f86 --- /dev/null +++ b/src/42_evals/Cursus/CPP02/index.html @@ -0,0 +1,908 @@ + + + + + + + CPP Module 02 correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Tests préliminaires

+

Si un cas de triche est suspecté, la notation et l'évaluation prennent fin + immédiatement. Pour le signaler, sélectionnez le flag "Cheat". Faites attention à l'utiliser avec + calme, précaution et discernement.

+
+

Prérequis

+

+

+

Le code doit compiler avec c++ et les flags -Wall -Wextra -Werror
+ Pour rappel, ce projet doit suivre le standard C++98. Par conséquent,
+ des fonctions C++11 (ou autre standard) et les containers ne sont PAS
+ attendus.

+ +

Ne notez pas l'exercice si vous trouvez :

+ +
    +
  • Une fonction implémentée dans un fichier d'en-tête (sauf pour + les fonctions templates).
  • +
  • Un Makefile compilant sans les flags demandés et/ou avec autre + chose que c++.
  • +
+ +

Sélectionnez le flag "Fonction interdite" (Forbidden function) si
+ vous rencontrez :

+ +
    +
  • L'utilisation d'une fonction "C" (*alloc, *printf, free).
  • +
  • L'utilisation d'une fonction interdite dans le projet.
  • +
  • L'utilisation de "using namespace <ns_name>" ou du mot-clé "friend".
  • +
  • L'utilisation d'une bibliothèque externe, ou de fonctionnalités + propres aux versions postérieures à C++98.
  • +
+ +

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

Exercice 00 : Mon premier canon

+

Cet exercice introduit la notion de classe canonique avec un exercice + arithmétique simple : les nombres à point fixe. +

+
+

Makefile

+

+

+

Il y a un Makefile qui compile en utilisant les flags appropriés.

+ +

+
+ + +
+ + + + +
+
+

Accesseurs

+

+

+

La classe Fixed (ou autre) doit avoir des accesseurs pour la valeur brute :

+ +
    +
  • int getRawBits( void ) const;
  • +
  • void setRawBits( int const raw ); + Ces membres sont-ils présents et fonctionnels ?
  • +
+ +

+
+ + +
+ + + + +
+
+

Classe canonique

+

+

+

Une classe canonique doit avoir au moins :

+ +
    +
  • Un constructeur par défaut
  • +
  • Un destructeur
  • +
  • Un constructeur par recopie
  • +
  • Un opérateur d'affectation + Ces élements sont-ils présents et fonctionnels ?
  • +
+ +

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

Exercice 01 : Premiers pas vers une classe utile

+

L'exercice précédent était un bon premier pas. Cependant, la classe était + peu utile puisqu'elle ne permettait de représenter que la valeur 0.0 +

+
+

Makefile

+

+

+

Il y a un Makefile qui compile en utilisant les flags appropriés.

+ +

+
+ + +
+ + + + +
+
+

Constructeur via flottant

+

+

+

Peut-on construire une instance à partir d'un nombre flottant ?

+ +

+
+ + +
+ + + + +
+
+

operateur <<

+

+

+

Y a-t-il un opérateur << et est-il fonctionnel ?

+ +

+
+ + +
+ + + + +
+
+

Point fixe vers entier

+

+

+

La classe doit inclure une fonction membre "int toInt(void) const;"
+ qui convertit un nombre à point fixe en int.
+ Est-elle présente et fonctionnelle ?

+ +

+
+ + +
+ + + + +
+
+

Point fixe vers float

+

+

+

La classe doit inclure une fonction membre "float toFloat(void) const;"
+ qui convertit un nombre à point fixe vers un float.
+ Est-elle présente et fonctionnelle ?

+ +

+
+ + +
+ + + + +
+
+

Construction avec un int

+

+

+

Peut-on instancier la classe avec le constructeur prenant un int ?

+ +

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

Exercice 02 : Maintenant, on peut parler

+

Cet exercice ajoute les opérateurs de comparaison et arithmétiques à la + classe.

+
+

Makefile

+

+

+

Il y a un Makefile qui compile en utilisant les flags appropriés.

+ +

+
+ + +
+ + + + +
+
+

Opérateurs de comparaison

+

+

+

Les 6 opérateurs de comparaison (>, <, >=, <=, == et !=) sont-ils présents et + fonctionnels ?

+ +

+
+ + +
+ + + + +
+
+

Opérateurs arithmétiques

+

+

+

Les 4 opérateurs arithmétiques (+, -, * et /) sont-ils présents et fonctionnels ?
+ (Si vous effectuez une division par 0, il est acceptable que le programme crash.)

+ +

+
+ + +
+ + + + +
+
+

Autres opérateurs

+

+

+

Les quatre opérateurs d'incrémentation et de décrémentation
+ (pré-incrémentation et post-incrémentation, pré-décrémentation et
+ post-décrémentation) sont-ils présents et fonctionnels ?

+ +

+
+ + +
+ + + + +
+
+

Surcharge de fonctions membres statiques publiques

+

+

+

Pour finir, vérifiez que les fonctions membres statiques min() et max()
+ sont implémentées et fonctionnelles.

+ +

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

Exercice 03 : BSP

+

Cet exercice devrait vous faire réaliser à quel point il est facile de + mettre en œuvre des des algorithmes complexes une fois que les bases + fonctionnent comme prévu. +

+
+

Makefile

+

+

+

Il y a un Makefile qui compile en utilisant les flags appropriés.

+ +

+
+ + +
+ + + + +
+
+

Classe Point

+

+

+

Il existe une classe Point qui possède deux attributs (x et y) de type
+ Fixed const.
+ Elle possède également un constructeur qui prend deux flottants et
+ initialise x et y avec ces valeurs.

+ +

+
+ + +
+ + + + +
+
+

Fonction bsp

+

+

+

Il existe une fonction bsp() dont le prototype est
+ "bool bsp( Point const a, Point const b, Point const c, Point const point)".
+ La fonction renvoie True si le point est à l'intérieur du triangle décrit par
+ les sommets a, b, et c. Sinon, elle renvoie False.

+ +

+
+ + +
+ + + + +
+
+

Main et tests

+

+

+

Il y a un main pour tester que la fonction bsp() fonctionne comme décrit
+ ci-dessus. Exécutez plusieurs tests pour vous assurer que la valeur de
+ retour est correcte.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/CPP03/README.md b/src/42_evals/Cursus/CPP03/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP03/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP03/img/all.jpg b/src/42_evals/Cursus/CPP03/img/all.jpg new file mode 100755 index 0000000..d3aa443 Binary files /dev/null and b/src/42_evals/Cursus/CPP03/img/all.jpg differ diff --git a/src/42_evals/Cursus/CPP03/index.html b/src/42_evals/Cursus/CPP03/index.html new file mode 100644 index 0000000..aa30a62 --- /dev/null +++ b/src/42_evals/Cursus/CPP03/index.html @@ -0,0 +1,581 @@ + + + + + + + CPP Module 00 correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to + report it. Take this decision calmly, wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) functions or containers are NOT expected.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of "using namespace <ns_name>" or the "friend" keyword.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+
+ + +
+ + + + +
+
+
+
+
+
+

Exercise 00: Annnnnnd... ACTION!

+

As usual, there should be enough tests to prove that the program works as + requested. If there are none, do not grade this exercise.

+
+

Class and Attributes

+

There is a ClapTrap class. It has all the following private attributes:

+
    +
  • name
  • +
  • hit points
  • +
  • energy points
  • +
  • attack damage
  • +
+

These attributes are initialized to the requested values.

+
+ + +
+ + + + +
+
+

Member Functions

+

The following member functions are present and function as specified:

+
    +
  • attack()
  • +
  • takeDamage()
  • +
  • beRepaired()
  • +
+
+ + +
+ + + + +
+
+
+
+
+

Exercise 01: Serena, My Love!

+

As usual, there should be enough tests to prove that the program works as + requested. If there are none, do not grade this exercise.

+
+

Class and Attributes

+

There is a ScavTrap class. ScavTrap publicly inherits from the Claptrap class. It does not redeclare + the attributes. The attributes of the ClapTrap class are now protected instead of private. The + attributes are initialized to the requested values. +

+
+ + +
+ + + + +
+
+

Member Functions

+

The following member functions are present and functional:

+
    +
  • attack()
  • +
  • takeDamage() (inherited)
  • +
  • beRepaired() (inherited)
  • +
+

The messages from the constructor, destructor, and attack() function must be different from those of + the ClapTrap.

+
+ + +
+ + + + +
+
+

Construction and Destruction

+

ScavTrap must have a constructor and destructor with specific messages. Their proper implementation + must be demonstrated by a sequence of calls in the expected order: if you create a ScavTrap, the message + from the ClapTrap constructor should be displayed first, followed by that of the ScavTrap. Conversely, + if you delete a ScavTrap, the message from the ScavTrap destructor should be displayed first, followed + by that of the ClapTrap.

+
+ + +
+ + + + +
+
+

Special Feature

+

ScavTrap has a guardGate() function that displays a message on the standard output. ScavTrap also has + an attack() function that displays a message different from that of the ClapTrap on the standard output. +

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

Exercise 02: Assembly Line Work

+

As usual, there should be enough tests to prove that the program works as + requested. If there are none, do not grade this exercise.

+
+

Class and Attributes

+

There is a FragTrap class that publicly inherits from ClapTrap. Attributes should not be redeclared + without reason.

+
+ + +
+ + + + +
+
+

Construction and Destruction

+

FragTrap must have a constructor and destructor with specific messages. Their proper implementation + must be demonstrated by a sequence of calls in the expected order: if you create a FragTrap, the message + from the ClapTrap constructor should be displayed first, followed by that of the FragTrap. Conversely, + if you delete a FragTrap, the message from the FragTrap destructor should be displayed first, followed + by that of the ClapTrap.

+
+ + +
+ + + + +
+
+

Special Feature

+

FragTrap has a highFivesGuys() function that displays a message on the standard output.

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

Exercise 03: Ok, This Is Getting Weird

+

As usual, there should be enough tests to prove that the program works as + requested. If there are none, do not grade this exercise.

+
+

The Ultimate Weirdness of C++

+

There is a DiamondTrap class. It inherits from both FragTrap and ScavTrap. It defines attributes with + the requested values. It uses virtual inheritance to avoid the pitfalls of diamond inheritance.

+
+ + +
+ + + + +
+
+

Choose Wisely...

+

The DiamondTrap class uses the attack() function of Scavtrap. It has the special functions of both its + parents. DiamondTrap has a private member std::string name. The whoAmI() function has access to both + name and ClapTrap::name.

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/CPP04/README.md b/src/42_evals/Cursus/CPP04/README.md new file mode 100755 index 0000000..e3b97e7 --- /dev/null +++ b/src/42_evals/Cursus/CPP04/README.md @@ -0,0 +1 @@ +[Open the correction file](https://rphlr.github.io/42-Evals/Rank04/CPP_Modules/CPP04/html/index.html) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP04/index.html b/src/42_evals/Cursus/CPP04/index.html new file mode 100755 index 0000000..20bbfc9 --- /dev/null +++ b/src/42_evals/Cursus/CPP04/index.html @@ -0,0 +1,901 @@ + + + + + + CPP Module 04 correction + + + + + + + + + + Give this repository a star. + ⭐ + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops + here. Use the "Cheat" flag to report it. Take this decision calmly, + wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) functions or containers are NOT expected.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of "using namespace <ns_name>" or the "friend" keyword.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+

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

Exercise 00: Polymorphism

+

As usual, there has to be enough tests to prove the program works as + expected. If there isn't, do not grade this exercise. If any non-interface + class is not in orthodox canonical class form, do not grade this exercise. +

+
+

First check

+

+

+

There is an Animal class that has one attribute:
+ One string called type.
+ You must be able to instantiate and use this class.

+ +

+
+ + +
+ + + + +
+
+

Inheritance

+

+

+

They are at least two classes that inherit from Animal: Cat and Dog.
+ The constructor and destructor outputs must be clear.
+ Ask the student about constructor and destructor orders.

+ +

+
+ + +
+ + + + +
+
+

Easy derived class

+

+

+

The attribute type is set to the appropriate value at creation for
+ every animal. Cat must have "Cat" and Dog must have "Dog".

+ +

+
+ + +
+ + + + +
+
+

Animal

+

+

+

Using makeSound() function always called the appropriate makeSound()
+ function. makeSound() should be virtual! Verify it in the code.
+ virtual void makeSound() const;
+ The return value is not important but virtual keyword is mandatory.

+ +

There should be an example with a WrongAnimal and WrongCat that don't
+ use the virtual keyword (see subject).
+ The WrongCat must output the WrongCat makeSound() only when used as a
+ wrongCat.

+ +

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

Exercise 01: I do not want to set the world on fire

+

As usual, there has to be enough tests to prove the program works as + expected. If there isn't, do not grade this exercise. If any non-interface + class is not in orthodox canonical class form, do not grade this exercise. +

+
+

Concrete Animal

+

+

+

There is a new class called Brain.
+ Cat and Dog have the required private Brain attribute.
+ The Brain attribute should not be inside the Animal class.
+ The Brain class has specific outputs upon creation and deletion.

+ +

+
+ + +
+ + + + +
+
+

Concrete Brain

+

+

+

The copy a Cat or a Dog should be a deep copy.
+ Test something like:
+ Dog basic;
+ {
+ Dog tmp = basic;
+ }
+ If the copy is shallow, tmp and basic will use the same Brain and
+ the Brain will get deleted with tmp at the end of the scope.
+ The copy constructor should do a deep copy too.
+ That's why a clean implementation in orthodox canonical form will
+ save you from hours of pain.

+ +

+
+ + +
+ + + + +
+
+

Destruction chaining

+

+

+

The destructors in Animal must be virtual.
+ Ask an explanation of what will happen without the virtual keyword over Animal destructor. +
+ Test it. +

+ +

+
+ + +
+ + + + +
+
+

Assignment and copy

+

+

+

The copy and assignment behaviors of the Cat and Dog are like the
+ subject requires.
+ Deep copy means you need to create a new Brain for the Cat or Dog.
+ Check that the canonical form is really implemented (i.e. no empty
+ copy assignment operators and so forth). Nothing should be public for no
+ reason. Moreover, this code is very simple so it needs to be clean!

+ +

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

Exercise 02: Abstract class

+

As usual, there has to be enough tests to prove the program works as + expected. If there isn't, do not grade this exercise. If any non-interface + class is not in orthodox canonical class form, do not grade this exercise. +

+
+

Abstract class

+

+

+

There is an Animal class exactly like the one in the subject.
+ The Animal::makeSound is a pure virtual function.
+ It should look like : virtual void makeSound() const = 0;
+ The "= 0" part is mandatory.
+ You should not be able to instantiate an Animal.
+ Animal test; //should give you a compile error about the class being abstract

+ +

+
+ + +
+ + + + +
+
+

Concrete Animal

+

+

+

Class Cat and Dog are still present and work exactly like in ex01.

+ +

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

Exercise 03: Interface and recap

+

As usual, there has to be enough tests to prove the program works as + expected. If there isn't, do not grade this exercise. If any non-interface + class is not in orthodox canonical class form, do not grade this exercise. +

+
+

Interfaces

+

+

+

There are ICharacter and IMateriaSource interfaces that are exactly like
+ required in the subject.

+ +

+
+ + +
+ + + + +
+
+

MateriaSource

+

+

+

The MateriaSource class is present and implements IMateriaSource. The
+ member functions work as intended.

+ +

+
+ + +
+ + + + +
+
+

Concrete Materia

+

+

+

There are concrete Ice and Cure classes that inherit from AMateria. Their
+ clone() method is correctly implemented. Their outputs are correct.
+ The AMateria class is still abstract (clone() is a pure function).
+ virtual ~AMateria() is present.
+ AMateria contains a protected string attribute to store the type.

+ +

+
+ + +
+ + + + +
+
+

Character

+

+

+

The Character class is present and implements ICharacter. It has
+ an inventory of 4 Materias maximum.
+ The member functions are implemented as the subject requires.
+ The copy and assignment of a Character are implemented as required
+ (deep copy).

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+ +
+

Leave a comment on this evaluation

+ +
+ +
+
+ +
+
+


+ +
+
+ +
+ + + + + + diff --git a/src/42_evals/Cursus/CPP05/README.md b/src/42_evals/Cursus/CPP05/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP05/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP05/index.html b/src/42_evals/Cursus/CPP05/index.html new file mode 100755 index 0000000..2040ee2 --- /dev/null +++ b/src/42_evals/Cursus/CPP05/index.html @@ -0,0 +1,520 @@ + + + + + + CPP Module 05 correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops + here. Use the "Cheat" flag to report it. Take this decision calmly, + wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) functions or containers are NOT expected.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of "using namespace <ns_name>" or the "friend" keyword.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+

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

Ex00: Mommy, when I grow up, I want to be a + bureaucrat!

+

As usual, there has to be the main function that contains enough + tests to prove the program works as expected. If + there isn't, do not grade this exercise. If any non-interface class is not in orthodox + canonical class form, do not grade + this exercise. +

+
+

Bureaucrat

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is a Bureaucrat class. It has a constant name
+ It has a grade that ranges from 1 (highest) to 150 (lowest).
+ Exceptions are thrown when trying to create a Bureaucrat with a grade
+ that is too high or too low.
+ There are accessors for the attributes
+ There are functions to increment / decrement the grade,
+ They throw exceptions when it's appropriate. Remember that incrementing a
+ grade 3 will give you a grade 2 (1 is the highest).
+ The exceptions that are used inherit from std::exception, or from
+ something derived from std::exception (i.e. they are catchable as
+ std::exception & e).
+ There is a << operator to ostream overload that outputs the info of the
+ Bureaucrat.
+

+ +

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

Ex01: Form up, maggots!

+

As usual, there has to be the main function that contains enough + tests to prove the program works as expected. If + there isn't, do not grade this exercise. If any non-interface class is not in orthodox + canonical class form, do not grade + this exercise. +

+
+

Form

+

+

+

There is a Makefile that compiles using the appropriate flags. + There is a Form class. + It has a name, a bool that indicates whether is it signed (at the + beginning it's not), a grade required to sign it, and a grade required + to execute it. + The names and grades are constant. + All these attributes are private and not protected. + The grades of the forms follow the same constraints as the Bureaucrat's + (exceptions, 1 = highest 150 = lowest, and so forth). + There are accessors for the attributes and a << operator to ostream overload that displays + the complete state of the Form. There is a Form::beSigned() member function that works + as described by the subject. There is a Bureaucrat::signForm() function that works as + described by the subject.

+ +

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

Ex02: No, you need form 28B, not 28C...

+

As usual, there has to be the main function that contains enough + tests to prove the program works as expected. If + there isn't, do not grade this exercise. If any non-interface class is not in orthodox + canonical class form, do not grade + this exercise. +

+
+

Forms that actually do something

+

+

+

There is a Makefile that compiles using the appropriate flags
+ There are concrete forms that are conform to the specifications of the
+ subject (required grades, names and actions).
+ They take only one parameter in their constructor, which is their target.
+ There is a Form::execute(Bureaucrat const & executor) method that works
+ as specified by the subject.
+ Either this method is pure and the grade checks are implemented in each
+ subclass, or this method performs the checks, then calls another method
+ in derived class that only executes the action.
+ Both of these techniques are valid.
+ There is a Bureaucrat::executeForm(Form const & form) that works as
+ specified by the subject.
+

+ +

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

Ex03: At least this beats coffee-making

+

As usual, there has to be the main function that contains enough + tests to prove the program works as expected. If + there isn't, do not grade this exercise. If any non-interface class is not in orthodox + canonical class form, do not grade + this exercise. +

+
+

Intern

+

+

+

There is a Makefile that compiles using the appropriate flags.
+ There is an Intern class
+ It has a makeForm() function that works as specified by the subject.
+

+ +

+
+ + +
+ + + + +
+
+

Good dispatching

+

+

+

The makeForm() function should use some kind of array of pointers to member
+ functions to handle the creation of Forms.
+ If it's using an unclean method, like if/elseif/elseif/else branchings, or
+ some other ugly stuff like this, please count this as wrong.
+

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/CPP06/README.md b/src/42_evals/Cursus/CPP06/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP06/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP06/img/all.jpg b/src/42_evals/Cursus/CPP06/img/all.jpg new file mode 100755 index 0000000..fd05a3e Binary files /dev/null and b/src/42_evals/Cursus/CPP06/img/all.jpg differ diff --git a/src/42_evals/Cursus/CPP06/index.html b/src/42_evals/Cursus/CPP06/index.html new file mode 100755 index 0000000..4e5ab42 --- /dev/null +++ b/src/42_evals/Cursus/CPP06/index.html @@ -0,0 +1,390 @@ + + + + + + + + CPP Module 06 correction + + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to report + it. Take this decision calmly, wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) functions or containers are NOT expected.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of "using namespace <ns_name>" or the "friend" keyword.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+ +

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

Exercise 00: Conversion of scalar types

+

This exercise is about using the static_cast.

+
+

Scalar conversion

+

+

+

Did the student create a class with a private constructor, and static
+ methods ?
+ Did the student use the static_cast to convert values?
+ Accept the use of implicit casts for promotion casts only.
+ Does the program work as required?

+ +

Anyway, please don't be too uncompromising towards the exercise's outputs
+ if the spirit of the exercise is respected.
+ Even if this exercise is wrong, continue the evaluation process.

+ +

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

Exercise 01: Serialization

+

This exercise is about using the reinterpret_cast.

+
+

Retyping of raw data

+

+

+

Does the program work as required?
+ Did the student create a class with a private constructor, and static
+ methods ?
+ The reinterpret_cast<> should be used twice:

+ +
    +
  • First from data* to uintptr_t.
  • +
  • Then, from uintptr_t to data*.
  • +
+ +

And the resulting data struct should be usable.

+ +

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

Exercise 02: Identify real type

+

This exercise is about using the dynamic_cast.

+
+

Real type identification

+

+

+

Does the program work as required?
+ Check the code. Did the student use the dynamic_cast to identify the real
+ type?
+ void identify(Base* p) should check if the cast return is NULL.
+ void identify(Base& p) should use a try and catch block to check if the cast failed.

+ +

(In case you're wondering, the header <typeinfo> must not appear
+ anywhere.)

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/CPP07/README.md b/src/42_evals/Cursus/CPP07/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP07/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP07/img/all.jpg b/src/42_evals/Cursus/CPP07/img/all.jpg new file mode 100755 index 0000000..dc95ac2 Binary files /dev/null and b/src/42_evals/Cursus/CPP07/img/all.jpg differ diff --git a/src/42_evals/Cursus/CPP07/index.html b/src/42_evals/Cursus/CPP07/index.html new file mode 100755 index 0000000..bd956b9 --- /dev/null +++ b/src/42_evals/Cursus/CPP07/index.html @@ -0,0 +1,453 @@ + + + + + + + CPP Module 07 correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to + report it. Take this decision calmly, wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) functions or containers are NOT expected.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of "using namespace <ns_name>" or the "friend" keyword.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+ +

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

Exercise 00: Start with a few functions

+

This exercise is about writing 3 simple function templates: swap(), min() + and max(). +

+
+

Simple types

+

+

+

Refer to the subject for the expected output with simple types, such
+ as int.

+ +

+
+ + +
+ + + + +
+
+

Complex types

+

+

+

Do the functions also work with complex types? (check with the ex00.cpp file in attachment)

+ +

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

Exercise 01: Iter

+

This exercise is about writing a generic function to iterate through arrays. +

+
+

Does it work?

+

+

+

Test the code ex01.cpp (in attachments) with the iter of the evaluated student.
+ If everything went well, it should display:

+ +
0
+  1
+  2
+  3
+  4
+  42
+  42
+  42
+  42
+  42
+  
+ +

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

Exercise 02: Array

+

This exercise is about writing a class template that behaves like an array. + If the inner allocation of the actual array does not come from a use of + new[], don't grade this exercise. + Ask the evaluated student to prove the class template works with arrays of + both simple and complex types before grading the exercise. +

+
+

Constructors

+

+

+

Is it possible to create an empty array and an array of a specific size?

+ +

+
+ + +
+ + + + +
+
+

Access

+

+

+

Elements must be accessible for reading and writing through the operator[]
+ (or reading only if the instance is const). Access to an element which is
+ out of range must throw an std::exception.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/CPP08/README.md b/src/42_evals/Cursus/CPP08/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP08/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP08/index.html b/src/42_evals/Cursus/CPP08/index.html new file mode 100755 index 0000000..9f5fd54 --- /dev/null +++ b/src/42_evals/Cursus/CPP08/index.html @@ -0,0 +1,480 @@ + + + + + + CPP Module 08 correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops + here. Use the "Cheat" flag to report it. Take this decision calmly, + wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) functions or containers are NOT expected.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of "using namespace <ns_name>" or the "friend" keyword.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+

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

Ex00: Easy find

+

As usual, there has to be the main function that contains enough + tests to prove the program works as expected. If + there isn't, do not grade this exercise. If any non-interface class is not in orthodox + canonical class form, do not grade + this exercise. +

+
+

Template function

+

+

+

There is a templated function easyFind(T, int) that does what the
+ subject requires.
+ It HAS to use STL algorithms.
+ If it does not (like manual search using iterators for example), count
+ it as wrong.
+

+ +

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

Ex01: Span

+

As usual, there has to be the main function that contains enough + tests to prove the program works as expected. If + there isn't, do not grade this exercise. If any non-interface class is not in orthodox + canonical class form, do not grade + this exercise. +

+
+

Class and member functions

+

+

+

There is a class that complies with the constraints of the subject.
+ Its member functions use STL algorithms to find their result as much as
+ possible. Finding the shortest span can't be done only by subtracting
+ the two lowest numbers (take a closer look at the subject example).
+

+ +

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

Improved addNumber function

+

+

+

There's a way to add numbers that's more practical than calling the
+ addNumber() function repeatedly.

+ +

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

Ex02: Mutated abomination

+

As usual, there has to be the main function that contains enough + tests to prove the program works as expected. If + there isn't, do not grade this exercise. If any non-interface class is not in orthodox + canonical class form, do not grade + this exercise. +

+
+

MutantStack class

+

+

+

There is a MutantStack class that inherits from std::stack and offers
+ all of its member functions.
+ It has an iterator. Also, it is possible to do at least the operations
+ shown in the subject's examples using iterators.
+

+ +

+
+ + +
+ + + + +
+
+

Better tests

+

+

+

There is a at least a main() function that has more tests than the ones
+ from the subject.
+

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/CPP09/README.md b/src/42_evals/Cursus/CPP09/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/CPP09/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/CPP09/img/all.jpg b/src/42_evals/Cursus/CPP09/img/all.jpg new file mode 100755 index 0000000..8d836b5 Binary files /dev/null and b/src/42_evals/Cursus/CPP09/img/all.jpg differ diff --git a/src/42_evals/Cursus/CPP09/index.html b/src/42_evals/Cursus/CPP09/index.html new file mode 100755 index 0000000..b4ad756 --- /dev/null +++ b/src/42_evals/Cursus/CPP09/index.html @@ -0,0 +1,616 @@ + + + + + + + CPP Module 09 correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to + report it. Take this decision calmly, wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+

The code must compile with c++ and the flags -Wall -Wextra -Werror
+ Don't forget this project has to follow the C++98 standard. Thus,
+ C++11 (and later) are NOT expected.
+ The purpose of this module is to use the STL. Then, using the
+ containers is authorized.

+ +

Any of these means you must not grade the exercise in question:

+ +
    +
  • A function is implemented in a header file (except for template + functions).
  • +
  • A Makefile compiles without the required flags and/or another + compiler than c++.
  • +
+ +

Any of these means that you must flag the project with "Forbidden
+ Function":

+ +
    +
  • Use of a "C" function (*alloc, *printf, free).
  • +
  • Use of a function not allowed in the exercise guidelines.
  • +
  • Use of an external library, or features from versions other than + C++98.
  • +
+ +

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

Exercise 00: Bitcoin Exchange

+

For this first exercise, you have to find a makefile with the usual + compilation rules and the files requested in the subject. +

+
+

Code review

+

+

+

Check that a makefile is present with the usual compilation rules.

+ +

Check in the code that the program uses at least one container.

+ +

The person being evaluated must explain why they chose to use this
+ container and not another?

+ +

If not, the evaluation stops here.

+ +

+
+ + +
+ + + + +
+
+

Error handle

+

+

+

You must be able to use an empty file or a file with errors
+ (a basic example exists in the subject). The program must not stop
+ its execution before having performed the operations on the whole
+ file passed as argument.

+ +

You can use a wrong date.

+ +

You can enter a value greater than 1000 or less than 0.

+ +

If there is any problem during the execution then the evaluation stops here.

+ +

+
+ + +
+ + + + +
+
+

Main usage

+

+

+

You must now use the "input.csv" file located at the top of this page.

+ +

You can modify this file with the values you want.

+ +

You have to run the program with the input.csv file as parameter.

+ +

Please compare some dates manually with the specified value.

+ +

If the date does not exist in the database, the program will have to use the
+ nearest lower date.

+ +

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

Exercise 01: Reverse Polish Notation

+

For this second exercise, you have to find a makefile with the usual + compilation rules and the files requested in the subject. +

+
+

Code review

+

+

+

Check that a makefile is present with the usual compilation rules.

+ +

Check in the code that the program uses at least one container.

+ +

The person being evaluated must explain why they chose to
+ use this container and not another?

+ +

If not, the evaluation stops here.

+ +

If the container chosen here is present in the first exercise
+ then the evaluation stops here.

+ +

+
+ + +
+ + + + +
+
+

Main usage

+

+

+

Check that the program runs correctly using different formulas of your choice.

+ +

The program is not required to handle expressions with parenthesis or decimals
+ number.

+ +

If there is any problem during the execution then the evaluation stops here.

+ +

+
+ + +
+ + + + +
+
+

Usage advanced

+

+

+

Check that the program runs correctly using different formulas of your choice.

+ +

Here is some tests:

+ +
8 9 * 9 - 9 - 9 - 4 - 1 +
+  > Result: 42
+  
+  9 8 * 4 * 4 / 2 + 9 - 8 - 8 - 1 - 6 -
+  > Result: 42
+  
+  1 2 * 2 / 2 + 5 * 6 - 1 3 * - 4 5 * * 8 / 
+  > Result: 15
+  
+ +

You can use the examples in the topic if you don't know which formula to use.

+ +

If there is any problem during the execution then the evaluation stops here.

+ +

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

Exercise 02: PmergeMe

+

As usual, there has to be enough tests to prove the program works as + expected. If there isn't, do not grade this exercise. If any non-interface + class is not in orthodox canonical class form, do not grade this exercise. +

+
+

Code review

+

+

+

Check that a makefile is included with the usual compilation rules rules.

+ +

Check in the code that the program uses at least two containers.

+ +

If not, the evaluation stops here.

+ +

The person being evaluated must explain why they chose to use these containers
+ and not another?

+ +

Check in the code that the merge-insert sort algorithm is present and
+ is used for each container. The Ford-Johnson algorithm must be used.
+ A brief explanation is expected. In case of doubt, the evaluation stops here.

+ +

If one of the containers chosen here is included in one of the previous
+ exercises then the evaluation stops here.

+ +

+
+ + +
+ + + + +
+
+

Main usage

+

+

+

You can now manually check that the program works correctly by using between
+ 5 and 10 different positive integers of your choice as program arguments.

+ +

If this first test works and gives a sorted sequence of numbers you can continue.
+ If not, the evaluation stops now.

+ +

Now you have to check this operation by using the following command as an
+ argument to the program:

+ +

For linux:

+ +
`shuf -i 1-1000 -n 3000 | tr "\n" " " `
+  
+ +

For OSX:

+ +
`jot -r 3000 1 1000 | tr '\n' ' '`
+  
+ +

If the command works correctly, the person being evaluated should be able to
+ explain the difference in time used for each container selected.

+ +

If there are any problems during the execution and/or explanation then the
+ evaluation stops here.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/Cub3d/README.md b/src/42_evals/Cursus/Cub3d/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Cub3d/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Cub3d/img/all.jpg b/src/42_evals/Cursus/Cub3d/img/all.jpg new file mode 100755 index 0000000..16d1016 Binary files /dev/null and b/src/42_evals/Cursus/Cub3d/img/all.jpg differ diff --git a/src/42_evals/Cursus/Cub3d/index.html b/src/42_evals/Cursus/Cub3d/index.html new file mode 100755 index 0000000..ee90c62 --- /dev/null +++ b/src/42_evals/Cursus/Cub3d/index.html @@ -0,0 +1,609 @@ + + + + + + cub3D correction + + + + + + + + + + Go to homepage 🏠 + + +
+
+ +
+
+
+
+

Mandatory Part

+

+
+

Executable name

+

+

+

Check that the project compiles well (without re-link) when + you execute the make + command and that the executable name is cub3D. If not, use the invalid + compilation flag at the end of the + scale.

+ +

+
+ + +
+ + + + +
+
+

Configuration file

+

+

+

Check that you can configure ALL the following elements in + the configuration file. + The formating has to be as described in the subject. +

    +
  • north texture path - NO
  • +
  • north texture path - NO
  • +
  • east texture path - EA
  • +
  • south texture path - SO
  • +
  • west texture path - WE
  • +
  • floor color - F
  • +
  • ceiling color - C
  • +
  • the map (see subject for the map configuration details)
  • +
+ Also, check that the program returns an error and exits properly when + the configuration file is misconfigured (for example an unknown key, double keys, + an invalid path..) or if the filename doesn't end with the + .cub extension. + If not, the defense is over and use the appropriate flag incomplete work, crash....

+ +

+
+ + +
+ + + + +
+
+

Technical elements of the display

+

+

+ We're going to evaluate the technical elements of the + display. Run the program and execute the following tests. If at least one + fails, no points will be awarded for this section. Move to the + next one. +
    +
  • A window must open at the launch of the program. A window must open at the launch of the + program.
  • +
  • An image representing the inside of a maze must be + displayed inside the window.
  • +
  • Hide all or part of the window either by using another window + or by using the screen's borders, then minimize the + windows + and maximize it back. In all cases, the content of the window + must remain consistent.
  • +
+

+
+ + +
+ + + + +
+
+

User basic events

+

+

+ In this section, we're going to evaluate the program's user + generated events. Execute the 3 following tests. If at least + one + fails, this means that no points will be awarded for this section. + Move to the next one. +
    +
  • Click the red cross at the top left of the window. The + window must close and the program must exit + cleanly.
  • +
  • Press the ESC key. The window must close and the + program must exit cleanly. In the case of this test, we will + accept that another key exits the program, for example, Q.
  • +
  • Press the four movement keys (we'll accept WASD + or ZQSD keys) + in the order of your liking. Each key press must + render a + visible result on the window, such as a player's movement/rotation.
  • +
+ +

+
+ + +
+ + + + +
+
+

Movements

+

+

+ In this section, we'll evaluate the implementation of the player's movement/orientation inside + the maze. Execute the 5 following tests. If at least one fails, this means that no points will + be awarded for this section. +
    +
  • The player's spawning orientation on the first image + must be in accordance + with the configuration file, test for each cardinal orientation (N, S, E, W).
  • +
  • Press the left arrow then the right arrow. + The player's view must rotate to the left + then to the right as if the player's head was moving.
  • +
  • Press W (or Z) then S. + The player's view must go forward and then backward in a + straight line.
  • +
  • Press A (or Q) then D.
  • +
  • The player's view must go to the left and then to the + right in a + straight line.
  • +
  • During those four movements, was the display smooth? By smooth we mean is the game + "playable" or is it + slow.
  • +
+ +

+
+ + +
+ + + + +
+
+

Walls

+

+

+ In this section, we'll evaluate the walls in the maze. Execute the 4 following tests. If at + least one fails, this means that no points will be awarded for this + section. +
    +
  • The wall's texture vary depending on which compass point the wall is facing + (north, south, east, west). Check that the textures on the walls and perspective + are + visible and correct.
  • +
  • Check that if you modify the path of a wall texture in + the configuration file, + it modifies the rendered texture when the program is + re-executed. + Also check that if you set a non-existent path it + raises an error.
  • +
  • Check that the floor and ceiling colors are well handled when you modify them in the + configuration + file.
  • +
+ +

+
+ + +
+ + + + +
+
+

Error management

+

+

+ In this section, we'll evaluate the program's error management + and reliability. Execute the 4 following tests. If at least one + fails, this means that no points will be awarded for this + section. Move to the next one. +
    +
  • Run the program using numerous arguments and + random values. + Even if the program doesn't require any arguments, + it is + critical that those arguments don't alternate or + create + unhandled errors.
  • +
  • Check that there are no memory leaks. You can use + the + top or leaks command in another shell to monitor that the memory + use is stable. The memory used must not increase + each time an + action is made.
  • +
  • Roll either your arm or your face on the keyboard. + The program must not show any strange behaviors and it must stay functional.
  • +
  • Modify the map. The program must not show any + strange behaviors + and it must stay functional if the map is well configured, if not it must raise an + error.
  • +
+ +

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

Bonus

+

We will look at your bonuses if and only if your mandatory + part is excellent. This means that you must complete the mandatory part, beginning to + end, and your error management must be flawless, even in cases of twisted or + bad usage. So if the mandatory part didn't score all the + points during this defense bonuses will be totally ignored.

+
+

When I'll be older I'll be John Carmack

+

+ Look at the subject bonus part and add one point for each bonus implemented and fully + functional. +

+
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+ +
+
+
+

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+ + + + + + diff --git a/src/42_evals/Cursus/FdF/README.md b/src/42_evals/Cursus/FdF/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/FdF/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/FdF/img/all.jpg b/src/42_evals/Cursus/FdF/img/all.jpg new file mode 100755 index 0000000..2433efc Binary files /dev/null and b/src/42_evals/Cursus/FdF/img/all.jpg differ diff --git a/src/42_evals/Cursus/FdF/index.html b/src/42_evals/Cursus/FdF/index.html new file mode 100644 index 0000000..4d1c9d3 --- /dev/null +++ b/src/42_evals/Cursus/FdF/index.html @@ -0,0 +1,724 @@ + + + + + + + + FdF correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

+
+

Minimal requirements

+

+

+

Does the assignment meet the minimal requirements?

+ +
    +
  • The repository isn't empty.
  • +
  • Norminette shows no errors.
  • +
  • No cheating.
  • +
  • No forbidden function/library.
  • +
  • The code compiles with the required options.
  • +
  • The executable is named as expected.
  • +
  • During execution, there is no brutal or unmanaged crash (segfault, + bus error, and so forth).
  • +
  • No memory leaks.
  • +
+ +

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

Mandatory part

+

+
+

Error management

+

+

+

Test fdf without parameters, with too many parameters, a non-existing
+ file or on which you have no rights. If those tests are passed, then it's
+ all good. This is the only error management that is required. For now on,
+ the maps inside the input files have to be formatted properly.

+ +

+
+ + +
+ + + + +
+
+

Graphic management

+

+

+

Run the program with the 42 map provided from the project page and verify that:

+ +
    +
  • A window opens
  • +
  • Something is drawn in the window
  • +
  • You can see a isometric projection of the 42 map
  • +
  • Pressing 'ESC' closes the window and exits the program in a clean way (no leaks).
  • +
  • Clicking on the cross on the window's frame closes the window and exits + the program in a clean way (no leaks).
  • +
+ +

+
+ + +
+ + + + +
+
+

Line tracing

+

+

+
    +
  • Use a flat map with nothing but 0, sized 4x4. We have a flat + wireframe grid with a projection that is used to give a 3D concept.
  • +
  • Same map, with 1 point at a different altitude. Check that the + result corresponds and that the 3D effect is rendered.
  • +
+ +

+
+ + +
+ + + + +
+
+

Heavy map

+

+

+

Check whether the program handles a bigger map and an aleatory 16x16 map.

+ +

+
+ + +
+ + + + +
+
+

Heavier map

+

+

+

Test with bigger, heavier maps. Either those provided in the intranet, the
+ evaluated student, or your owns. Be logical and keep in mind the
+ requirements of the subject regarding what could contain your maps (colors
+ for example).

+ +

+
+ + +
+ + + + +
+
+

Graphic responsive

+

+

+

If the graphical representation stayed fluid and pleasant in the last test
+ with heavy maps, then it's cool.

+ +

+
+ + +
+ + + + +
+
+

MiniLibX images

+

+

+

Take a look at the code and check whether the student uses the images from
+ the MLX to draw the image instead of putting pixels one by one. ;)

+ +

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

Bonus part

+

A lot of nice extras.

+
+

Extra projection

+

+

+

Can the map be represented using another projection (such as parallel or conic)?

+ +

+
+ + +
+ + + + +
+
+

Zoooooooom

+

+

+

Is there a way to zoom in and out using the keyboard or mouse?

+ +

+
+ + +
+ + + + +
+
+

Translate

+

+

+

Is there a way to translate the projection using the keyboard or mouse?

+ +

+
+ + +
+ + + + +
+
+

Rotation

+

+

+

Is there a way to rotate the projection using the keyboard or mouse?

+ +

+
+ + +
+ + + + +
+
+

Be crazy

+

+

+

Give one more point if there is any additional bonus you consider is fine.
+ Creativity is an important point in your education and in the digital world.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+ + + + + + diff --git a/src/42_evals/Cursus/Fract-ol/README.md b/src/42_evals/Cursus/Fract-ol/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Fract-ol/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Fract-ol/img/all.jpg b/src/42_evals/Cursus/Fract-ol/img/all.jpg new file mode 100755 index 0000000..ba45c29 Binary files /dev/null and b/src/42_evals/Cursus/Fract-ol/img/all.jpg differ diff --git a/src/42_evals/Cursus/Fract-ol/index.html b/src/42_evals/Cursus/Fract-ol/index.html new file mode 100755 index 0000000..979d0c4 --- /dev/null +++ b/src/42_evals/Cursus/Fract-ol/index.html @@ -0,0 +1,573 @@ + + + + + + + fract-ol correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

Search for Julia and Mandelbrot sets on Wikipedia, or watch the e-learning + videos, to have an idea of what the rendering must look like. +

+
+

Minimal requirements

+

+

+

Does the assignment meet the minimal requirements?

+ +
    +
  • The repository isn't empty.
  • +
  • Norminette shows no errors.
  • +
  • No cheating.
  • +
  • No forbidden function/library.
  • +
  • There is no global variable.
  • +
  • The code compiles with the required options.
  • +
  • The executable is named as expected.
  • +
  • During execution, there is no brutal or unmanaged crash (segfault, + bus error, and so forth).
  • +
  • No memory leaks.
  • +
+ +

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

Mandatory part

+

Evaluate the following points. +

+
+

Graphic management

+

+

+

Is the graphic management functional?

+ +
    +
  • When the program runs, there is at least a graphic window open.
  • +
  • Pressing the key ESC exits the program properly (no leaks).
  • +
  • There is a visual change when using the mouse wheel (even if wrong, + this part is about checking the event management only).
  • +
+ +

+
+ + +
+ + + + +
+
+

Julia

+

+

+

How does the Julia set behave?

+ +
    +
  • Does it looks like it should? Search for the Julia fractal set on the + internet if you're not sure.
  • +
  • Is it possible to zoom in and out and the basic pattern repeats?
  • +
  • Search for some different Julia sets. You should be able to recreate + them by passing different parameters to the program.
  • +
  • Are there colors to represent the depth of the fractal?
  • +
+ +

+
+ + +
+ + + + +
+
+

Mandelbrot

+

+

+

How does the Mandelbrot set behave?

+ +
    +
  • Does it looks like it should?
  • +
  • Is it possible to zoom in and out and the basic pattern repeats?
  • +
  • Compare the result with some reference pictures: they all look alike, + you can't miss them.
  • +
  • Are there colors to represent the depth of the fractal?
  • +
+ +

+
+ + +
+ + + + +
+
+

Parameters management

+

+

+

Is the parameter's management implemented according to the subject?
+ Are wrong parameters correctly handled?
+ (Some optional parameters could be handled, for example for the bonus part.)

+ +

+
+ + +
+ + + + +
+
+

MiniLibX images

+

+

+

Take a look at the code and check whether the student uses the images from
+ the MLX to draw the image instead of putting pixels one by one. ;)

+ +

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

Bonus part

+

A lot of nice extras.

+
+

Zoom follows the mouse

+

+

+

The zoom works where the mouse is and not only at the center of the image.

+ +

+
+ + +
+ + + + +
+
+

Arrows

+

+

+

It must be possible to move the view using the arrow keys. It should also
+ work with the zoom: if an arrow is pressed, the view should move if the
+ user didn't zoom in or out, but also if they did.

+ +

+
+ + +
+ + + + +
+
+

Colors

+

+

+

The color palette is awesome.

+ +
    +
  • Either you say Ouhaaa because it's very beautiful.
  • +
  • Either you say Ouhaaa because it's insanely psychedelic.
  • +
  • Either you say Ouhaaa because the colors change.
  • +
+ +

+
+ + +
+ + + + +
+
+

A third fractal

+

+

+

There is at least one more fractal!! Working, nice, and that is actually a
+ fractal different than the two mandatory ones.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + + diff --git a/src/42_evals/Cursus/Ft_irc/README.md b/src/42_evals/Cursus/Ft_irc/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Ft_irc/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Ft_irc/index.html b/src/42_evals/Cursus/Ft_irc/index.html new file mode 100755 index 0000000..1dff240 --- /dev/null +++ b/src/42_evals/Cursus/Ft_irc/index.html @@ -0,0 +1,465 @@ + + + + + + + ft_irc correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Mandatory Part

+

+
+

Basic checks

+

+

+
    +
  • There is a Makefile, the project compiles correctly with the required + options, is written in C++, and the executable is called as expected.
  • +
  • Ask and check how many poll() (or equivalent) are present in the code. + There must be only one.
  • +
  • Verify that the poll() (or equivalent) is called every time before each + accept, read/recv, write/send. After these calls, errno should not be + used to trigger specific action (e.g. like reading again after errno + == EAGAIN).
  • +
  • Verify that each call to fcntl() is done as follows: + fcntl(fd, F_SETFL, O_NONBLOCK); + Any other use of fcntl() is forbidden.
  • +
  • If any of these points is wrong, the evaluation ends now and the final + mark is 0.
  • +
+ +

+
+ + +
+ + + + +
+
+

Networking

+

+

+

Check the following requirements:

+ +
    +
  • The server starts, and listens on all network interfaces on the port + given from the command line.
  • +
  • Using the 'nc' tool, you can connect to the server, send commands, + and the server answers you back.
  • +
  • Ask the team what is their reference IRC client.
  • +
  • Using this IRC client, you can connect to the server.
  • +
  • The server can handle multiple connections at the same time. The server + should not block. It should be able to answer all demands. Do some test + with the IRC client and nc at the same time.
  • +
  • Join a channel thanks to the appropriate command. Ensure that all + messages from one client on that channel are sent to all other clients + that joined the channel.
  • +
+ +

+
+ + +
+ + + + +
+
+

Networking specials

+

+

+

Network communications can be disturbed by many strange situations.

+ +
    +
  • Just like in the subject, using nc, try to send partial commands. Check + that the server answers correctly. With a partial command sent, ensure + that other connections still run fine.
  • +
  • Unexpectedly kill a client. Then check that the server is still + operational for the other connections and for any new incoming client.
  • +
  • Unexpectedly kill a nc with just half of a command sent. Check again that + the server is not in an odd state or blocked.
  • +
  • Stop a client (^-Z) connected on a channel. Then flood the channel using + another client. The server should not hang. When the client is live again, + all stored commands should be processed normally. Also, check for memory + leaks during this operation.
  • +
+ +

+
+ + +
+ + + + +
+
+

Client Commands basic

+

+

+
    +
  • With both nc and the reference IRC client, check that you can + authenticate, set a nickname, a username, join a channel. + This should be fine (you should have already done this previously).
  • +
  • Verify that private messages (PRIVMSG) are fully functional with different parameters.
  • +
+ +

+
+ + +
+ + + + +
+
+

Client Commands channel operator

+

+

+
    +
  • With both nc and the reference IRC client, check that a regular user + does not have privileges to do channel operator actions. Then test with an + operator. All the channel operation commands should be tested (remove one point for each feature + that is + not working).
  • +
+ +

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+
+ +
+
+
+

Bonus part

+

Evaluate the bonus part if, and only if, the mandatory part has been + entirely and perfectly done, and the error management handles unexpected + or bad usage. In case all the mandatory points were not passed during the + defense, bonus points must be totally ignored. +

+
+

File transfer

+

+

+

File transfer works with the reference IRC client.

+ +

+
+ + +
+ + + + +
+
+

A small bot

+

+

+

There's an IRC bot.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+ + + + + + diff --git a/src/42_evals/Cursus/Ft_printf/README.md b/src/42_evals/Cursus/Ft_printf/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Ft_printf/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Ft_printf/img/all.jpg b/src/42_evals/Cursus/Ft_printf/img/all.jpg new file mode 100755 index 0000000..e4da870 Binary files /dev/null and b/src/42_evals/Cursus/Ft_printf/img/all.jpg differ diff --git a/src/42_evals/Cursus/Ft_transcendence/README.md b/src/42_evals/Cursus/Ft_transcendence/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Ft_transcendence/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Ft_transcendence/index.html b/src/42_evals/Cursus/Ft_transcendence/index.html new file mode 100755 index 0000000..c0bd306 --- /dev/null +++ b/src/42_evals/Cursus/Ft_transcendence/index.html @@ -0,0 +1,875 @@ + + + + + + + ft_transcendence correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

General instructions

+

+
+

Preliminary tests

+

+

+
    +
  • Any credentials, API keys, environment variables must be set inside a .env + file during the evaluation. In case any credentials, API keys are available + in the git repository and outside of the .env file created during the evaluation, the evaluation stop + and the mark is 0.
  • +
  • Ensure the docker compose file is at the root of the repository.
  • +
  • Run the "docker-compose up --build" command.
  • +
  • Since the rating of this project is more flexible, do not stop the + evaluation process unless you encounter a 500 error, a crash, or + anything that actually doesn't work within the project scope.
  • +
+ +

+
+ + +
+ + + + +
+
+

Backend

+

+

+
    +
  • The backend must be developed using the NestJS framework.
  • +
  • The database must be a PostgreSQL database.
  • +
  • During the whole evaluation process, there must be no unhandled + warning or error.
  • +
+ +

+
+ + +
+ + + + +
+
+

Frontend

+

+

+
    +
  • The frontend must be done using a TypeScript framework.
  • +
  • Any TypeScript/JavaScript library is allowed.
  • +
  • During the whole evaluation process, there must be no unhandled warning + or error.
  • +
+ +

+
+ + +
+ + + + +
+
+

Basic checks

+

+

+
    +
  • The website is available at the address chosen by the students.
  • +
  • The user can login using the 42 intranet OAuth feature.
  • +
  • When logged for the first time, the user is prompted to add information + to their account (display name/nickname, avatar, and so forth).
  • +
  • If not logged, the user has access to only little or no information and + is prompted to sign in.
  • +
  • The website is a Single Page Application. The user can use the "Back" + and "Forward" buttons of the web browser.
  • +
  • You can browse the website using the latest version of Chrome and one + additionnal browser without encountering any problems or errors.
  • +
+ +

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

The website

+

+
+

Security concerns

+

+

+

Ensure that the website is secured. Check the database to verify that
+ passwords are hashed. Check the server for server-side
+ validation/sanitization on forms and any user input. If this isn't done,
+ the evaluation ends now.

+ +

+
+ + +
+ + + + +
+
+

User profile - private

+

+

+

When logged in, the user has access to their profile where they can
+ edit their information. For instance, they can change their nickname
+ (which must be unique) or their avatar (which is a default avatar if not
+ set).

+ +

+
+ + +
+ + + + +
+
+

User profile - public

+

+

+

Users can see the profile of other users. A profile contains basic
+ informations such as their nickname, their avatar, or a button to add
+ them as friends.
+ User can block other users. This means they won't receive private messages
+ from the accounts they blocked nor view their messages in public/private
+ channels.

+ +

+
+ + +
+ + + + +
+
+

Friend interface

+

+

+

The user has access to a friends interface, where they can see their
+ friends and their status (offline/online/in a game/and so forth). They
+ also have access to basics informations about them (name/nickname, avatar
+ and so forth).

+ +

+
+ + +
+ + + + +
+
+

2FA

+

+

+

The user can enable/disable 2FA (two-factor authentication). If enabled,
+ they must pass it in order to sign in. For example, 2FA can use Google
+ Authenticator, a text message, an email, and so forth.

+ +

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

Chat interface

+

+
+

Join/leave channels

+

+

+

A logged in user can access the website chat service. Joining/leaving
+ channels is a manual action. For example, this means it must not be done
+ on logout (the user has to click a "Leave channel" button or something
+ else). The user can join channels (that can be already created) to have a
+ chat. Some of them can be password-protected. If so, the user has to enter
+ the correct password in order to join the channel.

+ +

+
+ + +
+ + + + +
+
+

Chat usage

+

+

+

The users can chat. Messages must be sent/received instantly.
+ If the user blocked another user, the messages from the blocked person
+ must be hidden. The user can access the user profile of other players
+ from the chat interface and also invite them for a Pong duel.

+ +

+
+ + +
+ + + + +
+
+

Creating channels

+

+

+

The user can create new channels. The channel creator is set as the
+ channel owner and has basic moderations rights (ban/mute users, add a
+ password to protect the channel, set new administrators, and so
+ forth).

+ +

+
+ + +
+ + + + +
+
+

Channel roles

+

+

+

A user who is an owner of a channel can kick, ban, mute other users and
+ the channel administrators.
+ A user who is an administrator of a channel can kick, ban mute other
+ users, but not the channel owners.

+ +

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

The game

+

+
+

Matchmaking system

+

+

+

When logged in, the user has access to a matchmaking system so they can
+ play Pong 1v1 games versus other players on the website. When they get
+ matched, a new game is loaded and the two users can start playing.

+ +

+
+ + +
+ + + + +
+
+

Gameplay

+

+

+

The game itself must be playable and respect the original Pong game.
+ The controls must be intuitive or correctly explained (with some rules or
+ manual). When a game is over, either a kind of end-game screen is
+ displayed or the game page just exits.

+ +

+
+ + +
+ + + + +
+
+

Spectactor mode

+

+

+

There is a spectator mode. The user can watch any live games. They can be
+ accessed through the chat interface or the friend interface.
+ There can also be a page dedicated to live games from which the user can
+ access any of them.

+ +

+
+ + +
+ + + + +
+
+

Lags & disconnects

+

+

+

Unexpected disconnections and lags have to be handled. The game and the
+ website must not crash when a user is experiencing lags or is disconnected.
+ Handling such issues in an efficient way is appreciated but not mandatory:

+ +
    +
  • Pause the game for a defined duration.
  • +
  • Disconnected users can reconnect.
  • +
  • Lagging users can catch up to the match.
  • +
  • And so forth. + Any solution is acceptable. The only requirement is: the game should not + crash.
  • +
+ +

+
+ + +
+ + + + +
+
+

Additionnal features

+

+

+

The user can enjoy extra features such as power-ups, different maps,
+ achievements, and so forth.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/Get_next_line/README.md b/src/42_evals/Cursus/Get_next_line/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Get_next_line/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Get_next_line/img/all.jpg b/src/42_evals/Cursus/Get_next_line/img/all.jpg new file mode 100755 index 0000000..2e1caa7 Binary files /dev/null and b/src/42_evals/Cursus/Get_next_line/img/all.jpg differ diff --git a/src/42_evals/Cursus/Get_next_line/index.html b/src/42_evals/Cursus/Get_next_line/index.html new file mode 100644 index 0000000..236971a --- /dev/null +++ b/src/42_evals/Cursus/Get_next_line/index.html @@ -0,0 +1,438 @@ + + + + + + + get_next_line correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Mandatory Part

+

+
+

Norminette

+

+

+

Run the Norminette. If there is an error, the evaluation stops here.
+ You can keep going and discuss the implementation of the code, but the
+ assignment will not be graded.

+ +

+
+ + +
+ + + + +
+
+

Compilation

+

+

+

It should be possible to compile the project with the usual flags and -D BUFFER_SIZE.
+ It must be possible to compile this project with and without this flag in addition to
+ the flags: -Wall -Wextra -Werror. If there is an error, the evaluation stops here.
+ You can keep going and discuss the implementation of the code, but the
+ assignment will not be graded.

+ +

+
+ + +
+ + + + +
+
+

Error management

+

+

+

Carry out AT LEAST the following tests to try to stress the error
+ management.

+ +
    +
  • Pass an arbitrary file descriptor to the get_next_line function on + which it is not possible to read, for example 42. The function must + return NULL.
  • +
  • Check the error returns for read and malloc. + If there is an error, the evaluation stops here. + You can keep going and discuss the implementation of the code, + but the assignment will not be graded.
  • +
+ +

+
+ + +
+ + + + +
+
+

Testing

+

+

+

As the evaluator, you are expected to provide a main which will always check:

+ +
    +
  • The return value of the get_next_line is NULL in case of error.
  • +
  • Otherwise, the function returns the line read, always with a \n at the end except + if + the end of file was reached and does not end with a \n character.
  • +
+ +

Test all the possible combinations of the following rules:

+ +
    +
  • Large BUFFER_SIZE (>1024)
  • +
  • Small BUFFER_SIZE (< 8, and 1)
  • +
  • BUFFER_SIZE exactly the length of the line to read
  • +
  • +

    1 byte variant (+/-) between the line and the BUFFER_SIZE

    +
  • +
  • +

    Read on stdin

    +
  • +
  • +

    Read from a file

    +
  • +
  • +

    (Multiple/Single) Long line (2k+ characters)

    +
  • +
  • +

    (Multiple/Single) Short line (< 4 characters, even 1)

    +
  • +
  • +

    (Multiple/Single) Empty line

    +
  • +
+ +

These tests should enable you to verify the strength of the student's
+ get_next_line.
+ If there is an error, the evaluation stops here.

+ +

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

Bonus part

+

Evaluate the bonus part if, and only if, the mandatory part has been + entirely and perfectly done, and the error management handles unexpected + or bad usage. In case all the mandatory points were not passed during the + defense, bonus points must be totally ignored. +

+
+

Multiple fd reading

+

+

+

Perform the same tests as you did before, this time launch multiple
+ instances of get_next_line with a different file descriptor on each. Make
+ sure that each get_next_line is returning the correct line. Combine with
+ a non-existing fd to check for errors.

+ +

+
+ + +
+ + + + +
+
+

Single static variable

+

+

+

Check the code and verify if there is indeed only one static variable.
+ Give the points if that's the case.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/Inception/README.md b/src/42_evals/Cursus/Inception/README.md new file mode 100755 index 0000000..2c1ce35 --- /dev/null +++ b/src/42_evals/Cursus/Inception/README.md @@ -0,0 +1 @@ +[Open the correction file](https://rphlr.github.io/42-Evals/Rank05/Inception/html/index.html) \ No newline at end of file diff --git a/src/42_evals/Cursus/Inception/index.html b/src/42_evals/Cursus/Inception/index.html new file mode 100755 index 0000000..fcdb06f --- /dev/null +++ b/src/42_evals/Cursus/Inception/index.html @@ -0,0 +1,696 @@ + + + + + + + + inception correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminaries

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to report + it. Take this decision calmly, wisely, and please, use this button with caution.

+
+

Preliminary tests

+

+

+
    +
  • Any credentials, API keys, environment variables must be set inside a .env + file during the evaluation. In case any credentials, API keys are available + in the git repository and outside of the .env file created during the evaluation, the evaluation stop + and the mark is 0.
  • +
  • Defense can only happen if the evaluated student or group is present. + This way everybody learns by sharing knowledge with each other.
  • +
  • If no work has been submitted (or wrong files, wrong directory, or + wrong filenames), the grade is 0, and the evaluation process ends.
  • +
  • For this project, you have to clone their Git repository on their + station.
  • +
+ +

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

General instructions

+

+
+

General instructions

+

+

+
    +
  • For the entire evaluation process, if you don't know how to check a + requirement, or verify anything, the evaluated student has to help you.
  • +
  • Ensure that all the files required to configure the application are + located inside a srcs folder. The srcs folder must be located at the + root of the repository.
  • +
  • Ensure that a Makefile is located at the root of the repository.
  • +
  • Before starting the evaluation, run this command in the terminal: + "docker stop $(docker ps -qa); docker rm $(docker ps -qa); + docker rmi -f $(docker images -qa); docker volume rm $(docker volume ls -q); + docker network rm $(docker network ls -q) 2>/dev/null"
  • +
  • Read the docker-compose.yml file. There musn't be 'network: host' in + it or 'links:'. Otherwise, the evaluation ends now.
  • +
  • Read the docker-compose.yml file. There must be 'network(s)' in it. + Otherwise, the evaluation ends now.
  • +
  • Examine the Makefile and all the scripts in which Docker is used. + There musn't be '--link' in any of them. Otherwise, the evaluation + ends now.
  • +
  • Examine the Dockerfiles. If you see 'tail -f' or any command run in + background in any of them in the ENTRYPOINT section, the evaluation + ends now. Same thing if 'bash' or 'sh' are used but not for running a + script (e.g, 'nginx & bash' or 'bash').
  • +
  • If the entrypoint is a script (e.g., ENTRYPOINT ["sh", "my_entrypoint.sh"], + ENTRYPOINT ["bash", "my_entrypoint.sh"]), ensure it runs no program
    + in background (e.g, 'nginx & bash').
  • +
  • Examine all the scripts in the repository. Ensure none of them runs + an infinite loop. + The following are a few examples of prohibited commands: + 'sleep infinity', 'tail -f /dev/null', 'tail -f /dev/random'
  • +
  • Run the Makefile.
  • +
+ +

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

Mandatory part

+

This project consists in setting up a small infrastructure composed of + different services using docker compose. + Ensure that all the following points are correct. +

+
+

Project overview

+

+

+
    +
  • The evaluated person has to explain to you in simple terms: + +
      +
    • How Docker and docker compose work
    • +
    • The difference between a Docker image used with docker compose and + without docker compose
    • +
    • The benefit of Docker compared to VMs
    • +
    • The pertinence of the directory structure required for this project + (an example is provided in the subject's PDF file).
    • +
    +
  • +
+ +

+
+ + +
+ + + + +
+
+

Simple setup

+

+

+
    +
  • Ensure that NGINX can be accessed by port 443 only. Once done, open + the page.
  • +
  • Ensure that a SSL/TLS certificate is used.
  • +
  • Ensure that the WordPress website is properly installed and configured + (you shouldn't see the WordPress Installation page). To access it, + open https://login.42.fr in your browser, where login is the login of + the evaluated student. You shouldn't be able to access the site via
    + http://login.42.fr. + If something doesn't work as expected, the evaluation process ends now. +
  • +
+ +

+
+ + +
+ + + + +
+
+

Docker Basics

+

+

+
    +
  • Start by checking the Dockerfiles. There must be one Dockerfile per + service. Ensure that the Dockerfiles are not empty files. If it's not + the case or if a Dockerfile is missing, the evaluation process ends + now.
  • +
  • Make sure the evaluated student has written their own Dockerfiles and + built their own Docker images. Indeed, it is forbidden to use + ready-made ones or to use services such as DockerHub.
  • +
  • Ensure that every container is built from the penultimate stable version + of Alpine/Debian. If a Dockerfile does not start + with 'FROM alpine:X.X.X' or 'FROM debian:XXXXX', or any other local image, + the evaluation process ends now.
  • +
  • The Docker images must have the same name as their corresponding + service. Otherwise, the evaluation process ends now.
  • +
  • Ensure that the Makefile has set up all the services via docker compose. + This means that the containers must have been built using docker compose + and that no crash happened. Otherwise, the evaluation process ends.
  • +
+ +

+
+ + +
+ + + + +
+
+

Docker Network

+

+

+
    +
  • Ensure that docker-network is used by checking the docker-compose.yml + file. Then run the 'docker network ls' command to verify that a + network is visible.
  • +
  • The evaluated student has to give you a simple explanation of + docker-network. + If any of the above points is not correct, the evaluation process ends + now.
  • +
+ +

+
+ + +
+ + + + +
+
+

NGINX with SSL/TLS

+

+

+
    +
  • Ensure that there is a Dockerfile.
  • +
  • Using the 'docker compose ps' command, ensure that the container was + created (using the flag '-p' is authorized if necessary).
  • +
  • Try to access the service via http (port 80) and verify that you + cannot connect.
  • +
  • Open https://login.42.fr/ in your browser, where login is the login + of the evaluated student. The displayed page must be the configured + WordPress website (you shouldn't see the WordPress Installation page).
  • +
  • The use of a TLS v1.2/v1.3 certificate is mandatory and must be + demonstrated. The SSL/TLS certificate doesn't have to be recognized. + A self-signed certificate warning may appear. + If any of the above points is not clearly explained and correct, the + evaluation process ends now.
  • +
+ +

+
+ + +
+ + + + +
+
+

WordPress with php-fpm and its volume

+

+

+
    +
  • Ensure that there is a Dockerfile.
  • +
  • Ensure that there is no NGINX in the Dockerfile.
  • +
  • Using the 'docker compose ps' command, ensure that the container was + created (using the flag '-p' is authorized if necessary).
  • +
  • Ensure that there is a Volume. To do so: + Run the command 'docker volume ls' then 'docker volume inspect + <volume name>'. Verify that the result in the standard output contains + the path '/home/login/data/', where login is the login of the evaluated + student.
  • +
  • Ensure that you can add a comment using the available WordPress user.
  • +
  • Sign in with the administrator account to access the Administration + dashboard. The Admin username must not include 'admin' or 'Admin' + (e.g., admin, administrator, Admin-login, admin-123, and so forth).
  • +
  • From the Administration dashboard, edit a page. Verify on the website + that the page has been updated. + If any of the above points is not correct, the evaluation process ends + now.
  • +
+ +

+
+ + +
+ + + + +
+
+

MariaDB and its volume

+

+

+
    +
  • Ensure that there is a Dockerfile.
  • +
  • Ensure that there is no NGINX in the Dockerfile.
  • +
  • Using the 'docker compose ps' command, ensure that the container was + created (using the flag '-p' is authorized if necessary).
  • +
  • Ensure that there is a Volume. To do so: + Run the command 'docker volume ls' then 'docker volume inspect + <volume name>'. Verify that the result in the standard output contains + the path '/home/login/data/', where login is the login of the evaluated + student.
  • +
  • The evaluated student must be able to explain you how to login into + the database. Verify that the database is not empty. + If any of the above points is not correct, the evaluation process ends + now.
  • +
+ +

+
+ + +
+ + + + +
+
+

Persistence!

+

+

+
    +
  • This part is pretty straightforward. You have to reboot the virtual + machine. Once it has restarted, launch docker compose again. Then, + verify that everything is functional, and that both WordPress and + MariaDB are configured. The changes you made previously to the + WordPress website should still be here. + If any of the above points is not correct, the evaluation process ends + now.
  • +
+ +

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

Bonus

+

Evaluate the bonus part if, and only if, the mandatory part has been + entirely and perfectly done, and the error management handles unexpected + or bad usage. In case all the mandatory points were not passed during the + defense, bonus points must be totally ignored. +

+
+

Bonus

+

+

+

Add 1 point per bonus authorized in the subject.
+ Verify and test the proper functioning and implementation of each extra
+ service.
+ For the free choice service, the evaluated student has to give you a
+ simple explanation about how it works and why they think it is useful.

+ +

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+
+
+
+
+

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/Libft/README.md b/src/42_evals/Cursus/Libft/README.md new file mode 100755 index 0000000..91ac281 --- /dev/null +++ b/src/42_evals/Cursus/Libft/README.md @@ -0,0 +1,7 @@ +![Image](img/1.jpg) + +![Image](img/2.jpg) + +![Image](img/3.jpg) + +![Image](img/4.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Libft/img/1.jpg b/src/42_evals/Cursus/Libft/img/1.jpg new file mode 100755 index 0000000..6b23912 Binary files /dev/null and b/src/42_evals/Cursus/Libft/img/1.jpg differ diff --git a/src/42_evals/Cursus/Libft/img/2.jpg b/src/42_evals/Cursus/Libft/img/2.jpg new file mode 100755 index 0000000..db67d51 Binary files /dev/null and b/src/42_evals/Cursus/Libft/img/2.jpg differ diff --git a/src/42_evals/Cursus/Libft/img/3.jpg b/src/42_evals/Cursus/Libft/img/3.jpg new file mode 100755 index 0000000..8e62c0d Binary files /dev/null and b/src/42_evals/Cursus/Libft/img/3.jpg differ diff --git a/src/42_evals/Cursus/Libft/img/4.jpg b/src/42_evals/Cursus/Libft/img/4.jpg new file mode 100755 index 0000000..74c3edc Binary files /dev/null and b/src/42_evals/Cursus/Libft/img/4.jpg differ diff --git a/src/42_evals/Cursus/Libft/index.html b/src/42_evals/Cursus/Libft/index.html new file mode 100755 index 0000000..36a6381 --- /dev/null +++ b/src/42_evals/Cursus/Libft/index.html @@ -0,0 +1,676 @@ + + + + + + + + Libft correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+
+

Mandatory Part

+

You must test the functions present in the libft, either with your own set of tests + or with those of the person being evaluated. +

+
+

Libc functions #1

+

Test that ALL these functions fulfill their role exactly as they should: +

+
    +
  • ft_strlen
  • +
  • ft_memcpy
  • +
  • ft_memset
  • +
  • ft_bzero
  • +
  • ft_memmove
  • +
  • ft_memcmp
  • +
  • ft_memchr Does it work?
  • +
+
+ + +
+ + + + +
+
+

Libc functions #2

+

Test that ALL these functions fulfill their role exactly as they should: +

+
    +
  • ft_isalpha
  • +
  • ft_isdigit
  • +
  • ft_isalnum
  • +
  • ft_isascii
  • +
  • ft_isprint Does it work?
  • +
+
+ + +
+ + + + +
+
+

Libc functions #3

+

Test that ALL these functions fulfill their role exactly as they should: + +

+
    +
  • ft_toupper
  • +
  • ft_tolower
  • +
  • ft_strchr
  • +
  • ft_strrchr Does it work?
  • +
+
+ + +
+ + + + +
+
+

Libc functions #4

+

Test that ALL these functions fulfill their role exactly as they should: +

+
    +
  • ft_strlcat
  • +
  • ft_strlcpy
  • +
  • ft_atoi
  • +
  • ft_strnstr
  • +
  • ft_strncmp
  • +
  • ft_calloc
  • +
  • ft_strdup Does it work?
  • +
+
+ + +
+ + + + +
+
+

Additional functions #1

+

Test that ALL these functions fulfill their role exactly as they should: +

+
    +
  • ft_substr
  • +
  • ft_strjoin
  • +
  • ft_putchar_fd
  • +
  • ft_putstr_fd
  • +
  • ft_putendl_fd
  • +
  • ft_putnbr_fd Does it work?
  • +
+
+ + +
+ + + + +
+
+

Additional functions #2

+

Test that ALL these functions fulfill their role exactly as they should: +

+
    +
  • ft_strmapi
  • +
  • ft_striteri
  • +
  • ft_strtrim
  • +
  • ft_split
  • +
  • ft_itoa Does it work?
  • +
+
+ + +
+ + + + +
+
+
+
+
+

Bonus Part

+

Bonuses will only be considered if the mandatory part is excellent. This means + that the mandatory part must have been completed from start to finish, with perfect error handling + even in the case of unexpected use. If all the mandatory points have not been awarded during this + defense, no bonus points will be counted.

+
+

ft_lstnew

+

Does it work?

+
+ + +
+ + + + +
+
+

ft_lstdelone

+

Does it work?

+
+ + +
+ + + + +
+
+

ft_lstclear

+

Does it work?

+
+ + +
+ + + + +
+
+

ft_lstadd_front

+

Does it work?

+
+ + +
+ + + + +
+
+

ft_lstadd_back

+

Does it work?

+
+ + +
+ + + + +
+
+

ft_lstsize

+

Does it work?

+
+ + +
+ + + + +
+
+

ft_lstlast

+

Does it work?

+
+ + +
+ + + + +
+
+

ft_lstiter

+

Does it work?

+
+ + +
+ + + + +
+
+

ft_lstmap

+

Does it work?

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + +
+
+ + + diff --git a/src/42_evals/Cursus/MiniRT/README.md b/src/42_evals/Cursus/MiniRT/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/MiniRT/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/MiniRT/index.html b/src/42_evals/Cursus/MiniRT/index.html new file mode 100755 index 0000000..06e3af5 --- /dev/null +++ b/src/42_evals/Cursus/MiniRT/index.html @@ -0,0 +1,629 @@ + + + + + + + miniRT correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Mandatory part

+

Executable name

+

+

+

Check that the project compiles well (without re-link) when you excute the `make` command and that the + executable + name is `miniRT`.

+
+ + +
+ + + + +
+
+

Configuration file

+

+

+

Check that you can configure camera, light, + the ambient light ratio and simple objects in the + configuration file in accordance with the format described + in the subject. + Also check that the program returns an error and exits properly when + the configuration file is misconfigured or if the filename doesn't end + with the `.rt` extension.

+

If not, the defence is over and the final grade will be 0.

+ +

+
+ + +
+ + + + +
+
+

Technical elements of the display

+

+

+

In this section we'll evaluate Technical elements of the display. + Run the program and execute the following tests. + If at least one fails, no points will be awarded for this + section. Move to the next one.

+ +

- With only one parameter a window must open when + launching the program and stay open + during the program's whole execution.

+ +

- Hide either part of the window or the whole window with another window + or the screen's borders, minimize the minirt window to the dock/taskbar and maximize it back. + In every case, the window's content must remain consistant (minirt should not quit and + should still display properly its content).

+ +

- When you change the window resolution, + the window's content must remain consistant.

+ +

- Pressing `ESC` or clicking the red cross of the window + exits the program properly.

+
+ + +
+ + + + +
+
+

The Basic Shapes

+

+

+

In this section we'll evaluate the 3 basic shapes. Run the program + and execute the following 3 tests. If at least one fails, no points + will be awarded for this section. Move to the next one.

+ +

- Place a sphere at the coordinates {0, 0, 0}. With the + camera facing the sphere, display the rendered image. The + sphere should be visible and displayed without glitching.

+ +

- Place a plane with a 'z' value of null. With the camera facing the plane, + display the rendered image. The plane should be visible and + displayed without glitching.

+ +

- Place a cylinder extending along the y axis. With the camera facing + the cylinder, display the rendered image. The cylinder + should be visible and displayed without glitching.

+
+ + +
+ + + + +
+
+

Translations and rotations

+

+

+

In this section we'll evaluate that rotation and translation
+ transformations can be applied on the scene's objects. Run the
+ program and execute the following tests. If at least one
+ fails, no points will be awarded for this section. Move to
+ the next one.

+ +

- Place two spheres at the coordinates {0, 0, 0},
+ the camera facing those spheres. Then put a translation
+ on one of the two spheres oriented in a direction parallel
+ to the camera's, of a greater distance than the sphere's
+ diameter and display the rendered image. Both spheres should
+ be visible and displayed without glitching.

+ +

- Place a cylinder extending along the y axis, the camera facing
+ the cylinder. Then put a 90° rotation (PI/2 radian) along
+ the z axis and display the rendered image. The cylinder
+ should be visible and displayed without glitching.
+

+ +

+
+ + +
+ + + + +
+
+

Multi-objects

+

+

+

In this section we'll evaluate that it's possible to put + several object in one scene. Run the program and execute + the following tests. If at least one fails, no points + will be awarded for this section. Move to the next one.

+ +

- Place several intersecting objects on the scene, such as + for example a sphere and a cylinder, and display the rendered + image. Both objects should be visible and displayed + without glitching. (especially where both object intersect)

+ +

- Execute the same test, but ensure it's possible to + place the same object several times, for example two + cylinders, two spheres and a plane.

+
+ + +
+ + + + +
+
+

Camera's position and direction

+

+

+

In this section we'll evaluate that the camera conditions of the + subject are respected. Run the program and execute the following tests. + If at least one fails, no points will be awarded for this section. Move to + the next one.

+ +

- Generate a random scene and place the camera extending + along the x axis pointed towards the coordinates + {0, 0, 0} and display the rendered image. The scene + must be visible and displayed without glitching.

+ +

- Generate a random scene and place the camera extending + along the y axis pointed towards the coordinates {0, 0, 0} + and display the rendered image. The scene + must be visible and displayed without glitching.

+ +

- Generate a random scene and place the camera extending + along the z axis pointed towards the coordinates {0, 0, 0} + and display the rendered image. The scene + must be visible and displayed without glitching.

+ +

- Generate a random scene and place the camera at a random + location which isn't on any axis or a diagonal, pointed + towards the coordinates {0, 0, 0} and display + the rendered image. The scene must be visible and + displayed without glitching.

+
+ + +
+ + + + +
+
+

Brightness 1/2

+

+

+

n this section we'll evaluate brightness on the scene's objects. + Run the program and execute the following tests. If at least + one fails, no points will be awarded for this section. Move to + the next one.

+ +

- Place a sphere at the coordinates {0, 0, 0}, the camera + facing the sphere, and put a spot left or right of the camera + but positioned in such a way that the sphere will be lit sideways.

+ +

Display the rendered image. The sphere should be visible, + illuminated and displayed without glitching.

+ +

- Place a sphere at some coordinates resulting from a translation, + the camera facing the sphere, and place a spot left or right of + the camera but positioned in such a way that the sphere will be + lit sideways. Display the rendered image. The sphere should be + visible, properly illuminated and displayed without glitch. + Properly means that the halo of light should be computed + after translation not before.

+
+ + +
+ + + + +
+
+

Brightness 2/2

+

+

+

In this section we'll evaluate shadow management generated by + the scene's objects. Run the program and execute the following + tests. If at least one fails, no points will be awarded for + this section. Move to the next one.

+ +

- Place a vertical spot, a sphere and a plane. The spot lighting + the sphere's position to create a sphere shadow on the plane. + Put the camera aside so we can see the sphere, the plane and + the sphere's shadow on the plane. The shadow must be properly + displayed without glitching. + +

- Put a complex scene together with several objects like on + illustration V.6 page 10 of the subject. Shadows must be + properly displayed without glitching.

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

Bonus

+

We will look at your bonuses if and only if your mandatory part is excellent. This + means that your must complete the + mandatory part, beginning to end, and your error management must be flawless, even in cases of twisted + or bad + usage. So if the mandatory part didn't score all the point during this defence bonuses will be totally + ignored. +

+
+

Many bonuses?

+

+

+

One point per bonus. + +

    +
  • Specular reflection.
  • +
  • Color disruption: checkerboard.
  • +
  • Colored and multi-spot lights.
  • +
  • One other 2nd degree object: Cone, Hyperboloid, Paraboloid..
  • +
  • Handle bump map textures./li> +
+ +

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+
+
+
+
+

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/Minishell/README.md b/src/42_evals/Cursus/Minishell/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Minishell/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Minishell/img/all.jpg b/src/42_evals/Cursus/Minishell/img/all.jpg new file mode 100755 index 0000000..e3fd108 Binary files /dev/null and b/src/42_evals/Cursus/Minishell/img/all.jpg differ diff --git a/src/42_evals/Cursus/Minishell/index.html b/src/42_evals/Cursus/Minishell/index.html new file mode 100644 index 0000000..cd42bcd --- /dev/null +++ b/src/42_evals/Cursus/Minishell/index.html @@ -0,0 +1,1033 @@ + + + + + + + minishell correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Mandatory Part

+

+
+

Compile

+

+

+
    +
  • Use "make -n" to see if compilation use "-Wall -Wextra -Werror". + If not, select the "invalid compilation" flag.
  • +
  • minishell compiles without any errors. If not, select the flag.
  • +
  • The Makefile must not re-link. If not, select the flag.
  • +
+ +

+
+ + +
+ + + + +
+
+

Simple Command & global variables

+

+

+
    +
  • Execute a simple command with an absolute path like /bin/ls, or any + other command without any options.
  • +
  • How many global variables are used? Why? Ask the evaluated student + to give you a concrete example of why it feels mandatory or logical.
  • +
  • Check the global variable. This global variable cannot provide any + other information or data access than the number of a received signal.
  • +
  • Test an empty command.
  • +
  • Test only spaces or tabs.
  • +
  • If something crashes, select the "crash" flag.
  • +
  • If something doesn't work, select the "incomplete work" flag.
  • +
+ +

+
+ + +
+ + + + +
+
+

Arguments

+

+

+
    +
  • Execute a simple command with an absolute path like /bin/ls, or any + other command with arguments but without any quotes or double quotes.
  • +
  • Repeat multiple times with different commands and arguments.
  • +
  • If something crashes, select the "crash" flag.
  • +
  • If something doesn't work, select the "incomplete work" flag.
  • +
+ +

+
+ + +
+ + + + +
+
+

echo

+

+

+
    +
  • Execute the echo command with or without arguments, or the -n option.
  • +
  • Repeat multiple times with different arguments.
  • +
  • If something crashes, select the "crash" flag.
  • +
  • If something doesn't work, select the "incomplete work" flag.
  • +
+ +

+
+ + +
+ + + + +
+
+

exit

+

+

+
    +
  • Execute exit command with or without arguments.
  • +
  • Repeat multiple times with different arguments.
  • +
  • Don't forget to relaunch the minishell
  • +
  • If something crashes, select the "crash" flag.
  • +
  • If something doesn't work, select the "incomplete work" flag.
  • +
+ +

+
+ + +
+ + + + +
+
+

Return value of a process

+

+

+
    +
  • Execute a simple command with an absolute path like /bin/ls, or any + other command with arguments but without any quotes and double quotes. + Then execute echo $?
  • +
  • Check the printed value. You can do the same in bash in order to compare + the results.
  • +
  • Repeat multiple times with different commands and arguments. Try some + wrong commands like '/bin/ls filethatdoesntexist'
  • +
  • Try anything like expr $? + $?
  • +
  • If something crashes, select the "crash" flag.
  • +
  • If something doesn't work, select the "incomplete work" flag.
  • +
+ +

+
+ + +
+ + + + +
+
+

Signals

+

+

+
    +
  • ctrl-C in an empty prompt should display a new line with a new prompt.
  • +
  • ctrl-\ in an empty prompt should not do anything.
  • +
  • ctrl-D in an empty prompt should quit minishell --> RELAUNCH!
  • +
  • ctrl-C in a prompt after you wrote some stuff should display a new line + with a new prompt.
  • +
  • The buffer should be clean too. Press "Enter" to make sure nothing from + the previous line is executed.
  • +
  • ctrl-D in a prompt after you wrote some stuff should not do anything.
  • +
  • ctrl-\ in a prompt after you wrote some stuff should not do anything.
  • +
  • Try ctrl-C after running a blocking command like cat without arguments or grep “something“.
  • +
  • Try ctrl-\ after running a blocking command like cat without arguments or grep “something“.
  • +
  • Try ctrl-D after running a blocking command like cat without arguments or grep “something“.
  • +
  • Repeat multiple times using different commands.
  • +
  • If something crashes, select the "crash" flag.
  • +
  • If something doesn't work, select the "incomplete work" flag.
  • +
+ +

+
+ + +
+ + + + +
+
+

Double Quotes

+

+

+
    +
  • Execute a simple command with arguments and, this time, use also double + quotes (you should try to include whitespaces too).
  • +
  • Try a command like : echo "cat lol.c | cat > lol.c"
  • +
  • Try anything except $.
  • +
  • If something crashes, select the "crash" flag.
  • +
  • If something doesn't work, select the "incomplete work" flag.
  • +
+ +

+
+ + +
+ + + + +
+
+

Single Quotes

+

+

+
    +
  • Execute commands with single quotes as arguments.
  • +
  • Try empty arguments.
  • +
  • Try environment variables, whitespaces, pipes, redirection in the single quotes.
  • +
  • echo '$USER' must print "$USER".
  • +
  • Nothing should be interpreted.
  • +
+ +

+
+ + +
+ + + + +
+
+

env

+

+

+
    +
  • Check if env shows you the current environment variables.
  • +
+ +

+
+ + +
+ + + + +
+
+

export

+

+

+
    +
  • Export environment variables, create new ones and replace old ones.
  • +
  • Check the result with env.
  • +
+ +

+
+ + +
+ + + + +
+
+

unset

+

+

+
    +
  • Export environment variables, create new ones and replace old ones.
  • +
  • Use unset to remove some of them.
  • +
  • Check the result with env.
  • +
+ +

+
+ + +
+ + + + +
+
+

cd

+

+

+
    +
  • Use the command cd to move the working directory and check if you are in + the right directory with /bin/ls
  • +
  • Repeat multiple times with working and not working cd
  • +
  • Also, try '.' and '..' as arguments.
  • +
+ +

+
+ + +
+ + + + +
+
+

pwd

+

+

+
    +
  • Use the command pwd.
  • +
  • Repeat multiple times in different directories.
  • +
+ +

+
+ + +
+ + + + +
+
+

Relative Path

+

+

+
    +
  • Execute commands but this time use a relative path.
  • +
  • Repeat multiple times in different directories with a complex + relative path (lots of ..).
  • +
+ +

+
+ + +
+ + + + +
+
+

Environment path

+

+

+
    +
  • Execute commands but this time without any path (ls, wc, awk and so forth).
  • +
  • Unset the $PATH and ensure commands are not working anymore.
  • +
  • Set the $PATH to a multiple directory value (directory1:directory2) and + ensure that directories are checked in order from left to right.
  • +
+ +

+
+ + +
+ + + + +
+
+

Redirection

+

+

+
    +
  • Execute commands with redirections < and/or >
  • +
  • Repeat multiple times with different commands and arguments and sometimes change > with + >>
  • +
  • Check if multiple tries of the same redirections fail.
  • +
  • Test << redirection (it doesn't have to update the history).
  • +
+ +

+
+ + +
+ + + + +
+
+

Pipes

+

+

+
    +
  • Execute commands with pipes like 'cat file | grep bla | more'
  • +
  • Repeat multiple times with different commands and arguments.
  • +
  • Try some wrong commands like 'ls filethatdoesntexist | grep bla | more'
  • +
  • Try to mix pipes and redirections.
  • +
+ +

+
+ + +
+ + + + +
+
+

Go Crazy and history

+

+

+
    +
  • Type a command line, then use ctrl-C and press "Enter". The buffer should + be clean and there should be nothing left to execute.
  • +
  • Can we navigate through history using Up and Down? Can we retry some command?
  • +
  • Execute commands that should not work like 'dsbksdgbksdghsd'. + Ensure minishell doesn't crash and prints an error.
  • +
  • 'cat | cat | ls' should behave in a "normal way".
  • +
  • Try to execute a long command with a ton of arguments.
  • +
  • Have fun with that beautiful minishell and enjoy it!
  • +
+ +

+
+ + +
+ + + + +
+
+

Environment variables

+

+

+
    +
  • Execute echo with some environment variables ($variable) as arguments.
  • +
  • Check that $ is interpreted as an environment variable.
  • +
  • Check that double quotes interpolate $.
  • +
  • Check that USER exists. Otherwise, set it.
  • +
  • echo "$USER" should print the value of the USER variable.
  • +
+ +

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

Bonus

+

Evaluate the bonus part if, and only if, the mandatory part has been + entirely and perfectly done, and the error management handles unexpected + or bad usage. In case all the mandatory points were not passed during the + defense, bonus points must be totally ignored. +

+
+

And, Or

+

+

+
    +
  • Use &&, || and parenthesis with commands and ensure minishell behaves + the same way bash does.
  • +
+ +

+
+ + +
+ + + + +
+
+

Wildcard

+

+

+
    +
  • Use wildcards in arguments in the current working directory.
  • +
+ +

+
+ + +
+ + + + +
+
+

Surprise! (or not...)

+

+

+
    +
  • Set the USER environment variable.
  • +
  • echo "'$USER'" should print the value of the USER variable.
  • +
  • echo '"$USER"' should print "$USER".
  • +
+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/Minitalk/README.md b/src/42_evals/Cursus/Minitalk/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Minitalk/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Minitalk/img/all.jpg b/src/42_evals/Cursus/Minitalk/img/all.jpg new file mode 100755 index 0000000..496b86f Binary files /dev/null and b/src/42_evals/Cursus/Minitalk/img/all.jpg differ diff --git a/src/42_evals/Cursus/Minitalk/index.html b/src/42_evals/Cursus/Minitalk/index.html new file mode 100755 index 0000000..97866dc --- /dev/null +++ b/src/42_evals/Cursus/Minitalk/index.html @@ -0,0 +1,425 @@ + + + + + + + minitalk correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminary tests

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to report + it. Take this decision calmly, wisely, and please, use this button with caution.

+
+

Prerequisites

+

+

+
    +
  • Defense can only happen if the evaluated student or group is present. + This way everybody learns by sharing knowledge.
  • +
  • If no work has been submitted (or wrong files, wrong directory, or + wrong filenames), the grade is 0, and the evaluation process ends.
  • +
  • No empty repository (= nothing in Git repository).
  • +
  • No Norm error.
  • +
  • Cheating (= -42).
  • +
  • No compilation error. Also, the Makefile must not re-link.
  • +
+ +

If all of these requirements are passed, check Yes and go on.
+ Otherwise, use the appropriate flag at the end of the scale!

+ +

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

General instructions

+

+
+

General instructions

+

+

+
    +
  • The Makefile compiles both executables -> 1 point
  • +
  • The server name is 'server' and it prints his PID at launch -> 2 points
  • +
  • The client name is 'client' and is run as follows: + './client PID_SERVER STRING_TO_PASS' -> 2 points
  • +
+ +

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+
+
+
+
+

Mandatory part

+

This project is an introduction to signals. Check the code and ensure the + signals are used only for the communication between the server and the + client. +

+
+

Message transmission

+

+

+

It's possible to pass on a message of any size.
+ Received messages must be displayed by the server, and must be obviously
+ corrects!
+ The server should never get stuck or print wrong characters.

+ +

+
+ + +
+ + + + +
+
+

Simple setup

+

+

+
    +
  • The server can receive multiple strings without needing to be restarted. + -> 1 point
  • +
  • Only one global variable per program is allowed, or no global. Ask + for explanations. + -> 1 point
  • +
  • The communication is done only using the signals SIGUSR1 and SIGUSR2. + -> 3 points
  • +
+ +

Received messages must be displayed by the server, and must be obviously
+ corrects!

+ +

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+
+
+
+
+

Bonus part

+

Evaluate the bonus part if, and only if, the mandatory part has been + entirely and perfectly done, and the error management handles unexpected + or bad usage. In case all the mandatory points were not passed during the + defense, bonus points must be ignored. +

+
+

Unicode characters support

+

+

+

Unicode characters are supported both by the client and the server.

+ +

+
+ + +
+ + + + +
+
+

Acknowledgement

+

+

+

The server acknowledges every message received by sending back a signal
+ to the client.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + + diff --git a/src/42_evals/Cursus/NetPractice/README.md b/src/42_evals/Cursus/NetPractice/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/NetPractice/drill/License b/src/42_evals/Cursus/NetPractice/drill/License new file mode 100644 index 0000000..4b3add4 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/License @@ -0,0 +1,5 @@ + +NetPractice projet - 42 + +This content is provided to you for educational purpose, as part of your curriculum in 42. +It is not authorized to duplicate or modify or use it in any other context (personal, commercial, public, open source, ...). diff --git a/src/42_evals/Cursus/NetPractice/drill/css/netpractice.css b/src/42_evals/Cursus/NetPractice/drill/css/netpractice.css new file mode 100644 index 0000000..5006523 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/css/netpractice.css @@ -0,0 +1,111 @@ + +/* net Practice CSS */ +/* Warning : some parameters are set / modified by script */ + + +body { + font-family: sans-serif; + padding:0px; + margin:0px; + background-image:url("../img/site42-bg.gif"); +} + + +div { + box-sizing: border-box; +} + + + +/* message box in index.html */ + +.intro_div { + background-color: #00AAAA; + border: 5px solid #00AAAA; + border-radius: 5px; + padding:10px; + width:50%; + margin:auto; + margin-top: 25%; + text-align: center; +} + + +/* goals div */ +.goals_div { + background-color: #00AAAA; + width:100%; + border:5px solid #00AAAA; + border-radius:5px; + padding: 5px; +} + +.goals_div h2 { + margin:5px; + font-style:italic; +} + + +/* SVG layer */ +.svg_layer { + z-index:-4; + position:absolute; + top:0px; + left:0px; +} + + +/* logs window */ +.logs_div { + background-color: #FFAAAA; + border:3px solid #FFAAAA; + border-radius:3px; + position:fixed; + bottom:0px; + right:0px; + width:250px; + height:200px; + font-size:70%; + overflow-y: scroll; +} + + +/* host div (image) */ +.host_div { + background-size:contain; + background-repeat: no-repeat; + background-position: center; + /* will be updated by script : position, top, left, width, height, background-image */ +} + + +/* host info (name, route) div */ +.host_info_div { + min-width: 170px; + min-height: 50px; + background-color:rgba(150, 150, 255, 0.9); + border: 3px solid rgba(150, 150, 255, 0.9); + border-radius: 3px; + /* will be updated by script : position, top, left */ +} + +.host_info_div table { + text-align:center; +} + + +/* interface div */ +.itf_div { + min-width: 176px; + height: 70px; + background-color: rgba(150, 150, 150, 0.9); + border: 3px solid rgba(150, 150, 150, 0.9); + border-radius: 3px; + /* will be updated by script : position, top, left */ +} + +/* intro footnote */ +.footnote { + font-size:70%; + font-style:italic; +} diff --git a/src/42_evals/Cursus/NetPractice/drill/end.html b/src/42_evals/Cursus/NetPractice/drill/end.html new file mode 100644 index 0000000..68ec6ed --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/end.html @@ -0,0 +1,15 @@ + + + + + + + +
+ Completed !
+ Thanks for learning basics of networking with us :)
+ There are many other network-related topics that you can explore on your own. Stay curious ! + +
+ + diff --git a/src/42_evals/Cursus/NetPractice/drill/img/host.png b/src/42_evals/Cursus/NetPractice/drill/img/host.png new file mode 100644 index 0000000..6254a2f Binary files /dev/null and b/src/42_evals/Cursus/NetPractice/drill/img/host.png differ diff --git a/src/42_evals/Cursus/NetPractice/drill/img/internet.png b/src/42_evals/Cursus/NetPractice/drill/img/internet.png new file mode 100644 index 0000000..97e6ee0 Binary files /dev/null and b/src/42_evals/Cursus/NetPractice/drill/img/internet.png differ diff --git a/src/42_evals/Cursus/NetPractice/drill/img/router.png b/src/42_evals/Cursus/NetPractice/drill/img/router.png new file mode 100644 index 0000000..cad30d8 Binary files /dev/null and b/src/42_evals/Cursus/NetPractice/drill/img/router.png differ diff --git a/src/42_evals/Cursus/NetPractice/drill/img/site42-bg.gif b/src/42_evals/Cursus/NetPractice/drill/img/site42-bg.gif new file mode 100644 index 0000000..e39c5e9 Binary files /dev/null and b/src/42_evals/Cursus/NetPractice/drill/img/site42-bg.gif differ diff --git a/src/42_evals/Cursus/NetPractice/drill/img/switch.png b/src/42_evals/Cursus/NetPractice/drill/img/switch.png new file mode 100644 index 0000000..e506792 Binary files /dev/null and b/src/42_evals/Cursus/NetPractice/drill/img/switch.png differ diff --git a/src/42_evals/Cursus/NetPractice/drill/index.html b/src/42_evals/Cursus/NetPractice/drill/index.html new file mode 100644 index 0000000..40aff41 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/index.html @@ -0,0 +1,19 @@ + + + + + + + + +
+ Welcome to 42's NetPractice !
+ Please enter your intranet login (the moulinette will use it to know your own configuration) :
+
+ Or leave empty for a defense : 3 random level from 6 to 10 will be offered to be solved in 15 minutes.
+ Note: the architecture and addresses used in the following levels are fictionnous and are not connected to real configurations.
+ +
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/js/intro.js b/src/42_evals/Cursus/NetPractice/drill/js/intro.js new file mode 100644 index 0000000..6879a80 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/intro.js @@ -0,0 +1,25 @@ + + + +function save_login() +{ + var login = document.getElementById('input_login').value; + localStorage.setItem("g_my_login", login); + if (login == '') + { + var lvl = Math.round(6 + 4*Math.random()); + localStorage.setItem("g_my_eval", JSON.stringify([lvl])); + window.location = "level"+lvl+".html"; + } + else + window.location = 'level1.html'; +} + + +function load_login() +{ + var login; + if (!(login = localStorage.getItem("g_my_login"))) + login = ''; // will means full random during sim. + return (login); +} diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level1.js b/src/42_evals/Cursus/NetPractice/drill/js/level1.js new file mode 100644 index 0000000..86a8c08 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level1.js @@ -0,0 +1,31 @@ + +var level = 1; + +var hosts = [ + {'id':'A', 'type':'client', 'name':'my PC', 'geometry':'200x220+250+500', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'B', 'type':'client', 'name':'my little brother\'s computer', 'geometry':'200x220+250+100', 'img':'host.png', 'labelpos':'180,30'}, + {'id':'C', 'type':'client', 'name':'my Mac', 'geometry':'200x220+700+500', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'D', 'type':'client', 'name':'my little sister\'s computer', 'geometry':'200x220+700+100', 'img':'host.png', 'labelpos':'180,30'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ +]; + +var ifs = [ + {'if':'A1', 'hid':'A', 'ip':'104.93.23.[260-399]a', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'-90,-50'}, + {'if':'B1', 'hid':'B', 'ip':'104.[94-99]b.23.12', 'mask':'255.255.255.0', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'110,200'}, + {'if':'C1', 'hid':'C', 'ip':'211.191.[1-254]c.75', 'mask':'255.255.0.0', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'-90,-50'}, + {'if':'D1', 'hid':'D', 'ip':'211.190.[260-399]d.42', 'mask':'255.255.0.0', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'110,200'} +]; + + +var links = [ + {'if1':'A1', 'if2':'B1'}, + {'if1':'C1', 'if2':'D1'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'A', 'id2':'B'}, + {'id':'2', 'type':'reach', 'id1':'C', 'id2':'D'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level10.js b/src/42_evals/Cursus/NetPractice/drill/js/level10.js new file mode 100644 index 0000000..8c305e5 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level10.js @@ -0,0 +1,63 @@ + +var level = 10; + +var hosts = [ + {'id':'H1', 'type':'client', 'name':'Host one', 'geometry':'200x220+900+800', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'H2', 'type':'client', 'name':'Host two', 'geometry':'200x220+800+200', 'img':'host.png', 'labelpos':'180,30'}, + {'id':'H3', 'type':'client', 'name':'Host three', 'geometry':'200x220+600+1200', 'img':'host.png', 'labelpos':'180,100'}, + {'id':'H4', 'type':'client', 'name':'Host four', 'geometry':'200x220+100+1200', 'img':'host.png', 'labelpos':'180,100'}, + {'id':'R1', 'type':'router', 'name':'Router one', 'geometry':'200x200+400+500', 'img':'router.png', 'labelpos':'-150,150'}, + {'id':'R2', 'type':'router', 'name':'Router two', 'geometry':'200x200+400+900', 'img':'router.png', 'labelpos':'-30,170'}, + {'id':'I', 'type':'internet', 'name':'Internet', 'geometry':'200x240+100+200', 'img':'internet.png', 'labelpos':'-50,200'}, + {'id':'S1', 'type':'switch', 'name':'Switch one', 'geometry':'150x150+800+500', 'img':'switch.png', 'labelpos':'80,110'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ + {'hid':'H1', 'rid':'H1r1', 'route':'0.0.0.0/0', 'gate':'[128-170]a.[1-254]b.[1-254]c.1', 'route_edit':'false', 'gate_edit':'false'}, + {'hid':'H2', 'rid':'H2r1', 'route':'default', 'gate':'[a].[b].[c].1', 'route_edit':'false', 'gate_edit':'false'}, + {'hid':'H3', 'rid':'H3r1', 'route':'0.0.0.0/0', 'gate':'10.0.0.254', 'route_edit':'false', 'gate_edit':'true'}, + {'hid':'H4', 'rid':'H4r1', 'route':'default', 'gate':'[a].[b].[c].129', 'route_edit':'false', 'gate_edit':'false'}, + {'hid':'R1', 'rid':'R1r1', 'route':'10.0.0.0/8', 'gate':'[a].[b].[c].253', 'route_edit':'true', 'gate_edit':'false'}, + {'hid':'R1', 'rid':'R1r2', 'route':'[a].[b].[c].128/26', 'gate':'[a].[b].[c].253', 'route_edit':'false', 'gate_edit':'false'}, + {'hid':'R1', 'rid':'R1r3', 'route':'0.0.0.0/0', 'gate':'163.172.250.1', 'route_edit':'false', 'gate_edit':'false'}, + {'hid':'R2', 'rid':'R2r1', 'route':'0.0.0.0/0', 'gate':'[a].[b].[c].254', 'route_edit':'false', 'gate_edit':'false'}, + {'hid':'I', 'rid':'Ir1', 'route':'[a].[b].[c].0/31', 'gate':'163.172.250.12', 'route_edit':'true', 'gate_edit':'false'} +]; + + +var ifs = [ + {'if':'H11', 'hid':'H1', 'ip':'[a].[b].[c].2', 'mask':'255.255.255.0', 'ip_edit':'false', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'H21', 'hid':'H2', 'ip':'192.168.42.42', 'mask':'255.255.0.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'100,200'}, + {'if':'H31', 'hid':'H3', 'ip':'192.168.0.1', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'20,-50'}, + {'if':'H41', 'hid':'H4', 'ip':'[a].[b].[c].131', 'mask':'255.255.255.192', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'0,-50'}, + {'if':'R11', 'hid':'R1', 'ip':'[a].[b].[c].1', 'mask':'255.255.255.128', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'190,10'}, + {'if':'R12', 'hid':'R1', 'ip':'163.172.250.12', 'mask':'255.255.255.240', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'-150,0'}, + {'if':'R13', 'hid':'R1', 'ip':'[a].[b].[c].254', 'mask':'255.255.255.0', 'ip_edit':'false', 'mask_edit':'true', 'type':'std', 'pos':'130,140'}, + {'if':'R21', 'hid':'R2', 'ip':'[a].[b].[c].253', 'mask':'255.255.255.252', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'0,-50'}, + {'if':'R22', 'hid':'R2', 'ip':'10.0.0.254', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'190,90'}, + {'if':'R23', 'hid':'R2', 'ip':'8.8.8.8', 'mask':'/18', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'-150,90'}, + {'if':'S11', 'hid':'S1', 'ip':'0.0.0.0', 'mask':'/32', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'}, + {'if':'I1', 'hid':'I', 'ip':'163.172.250.1', 'mask':'/28', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'} +]; + + +var links = [ + {'if1':'I1', 'if2':'R12'}, + {'if1':'R11', 'if2':'S11'}, + {'if1':'S11', 'if2':'H11'}, + {'if1':'S11', 'if2':'H21'}, + {'if1':'R13', 'if2':'R21'}, + {'if1':'R22', 'if2':'H31'}, + {'if1':'R23', 'if2':'H41'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'H1', 'id2':'H2'}, + {'id':'2', 'type':'reach', 'id1':'H3', 'id2':'H4'}, + {'id':'3', 'type':'reach', 'id1':'H1', 'id2':'I'}, + {'id':'4', 'type':'reach', 'id1':'H1', 'id2':'H4'}, + {'id':'5', 'type':'reach', 'id1':'H2', 'id2':'H3'}, + {'id':'6', 'type':'reach', 'id1':'H3', 'id2':'I'}, + {'id':'7', 'type':'reach', 'id1':'H4', 'id2':'I'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level2.js b/src/42_evals/Cursus/NetPractice/drill/js/level2.js new file mode 100644 index 0000000..4c74d4a --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level2.js @@ -0,0 +1,31 @@ + +var level = 2; + +var hosts = [ + {'id':'A', 'type':'client', 'name':'Computer A', 'geometry':'200x220+200+500', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'B', 'type':'client', 'name':'Computer B', 'geometry':'200x220+200+100', 'img':'host.png', 'labelpos':'180,30'}, + {'id':'C', 'type':'client', 'name':'Computer C', 'geometry':'200x220+600+500', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'D', 'type':'client', 'name':'Computer D', 'geometry':'200x220+600+100', 'img':'host.png', 'labelpos':'180,30'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ +]; + +var ifs = [ + {'if':'A1', 'hid':'A', 'ip':'192.168.[14-150]a.1', 'mask':'255.255.255.224', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'-90,-50'}, + {'if':'B1', 'hid':'B', 'ip':'192.168.[a].222', 'mask':'255.255.255.32', 'ip_edit':'false', 'mask_edit':'true', 'type':'std', 'pos':'110,200'}, + {'if':'C1', 'hid':'C', 'ip':'127.0.0.1', 'mask':'255.255.255.252', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'-90,-50'}, + {'if':'D1', 'hid':'D', 'ip':'127.0.0.4', 'mask':'/30', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'110,200'} +]; + + +var links = [ + {'if1':'A1', 'if2':'B1'}, + {'if1':'C1', 'if2':'D1'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'B', 'id2':'A'}, + {'id':'1', 'type':'reach', 'id1':'D', 'id2':'C'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level3.js b/src/42_evals/Cursus/NetPractice/drill/js/level3.js new file mode 100644 index 0000000..04ecfa3 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level3.js @@ -0,0 +1,34 @@ + +var level = 3; + +var hosts = [ + {'id':'A', 'type':'client', 'name':'Host A', 'geometry':'200x220+700+800', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'B', 'type':'client', 'name':'Host B', 'geometry':'200x220+600+200', 'img':'host.png', 'labelpos':'180,30'}, + {'id':'C', 'type':'client', 'name':'Host C', 'geometry':'200x200+200+500', 'img':'host.png', 'labelpos':'-150,150'}, + {'id':'S', 'type':'switch', 'name':'Switch-1', 'geometry':'150x150+600+500', 'img':'switch.png', 'labelpos':'80,110'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ +]; + + +var ifs = [ + {'if':'A1', 'hid':'A', 'ip':'104.198.[1-254]a.125', 'mask':'255.255.255.0', 'ip_edit':'false', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'B1', 'hid':'B', 'ip':'127.168.42.42', 'mask':'255.255.0.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'100,200'}, + {'if':'C1', 'hid':'C', 'ip':'104.198.[a].[260-299]b', 'mask':'255.255.255.128', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'190,10'}, + {'if':'S1', 'hid':'S', 'ip':'0.0.0.0', 'mask':'/32', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'} +]; + + +var links = [ + {'if1':'C1', 'if2':'S1'}, + {'if1':'S1', 'if2':'A1'}, + {'if1':'S1', 'if2':'B1'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'A', 'id2':'B'}, + {'id':'2', 'type':'reach', 'id1':'A', 'id2':'C'}, + {'id':'3', 'type':'reach', 'id1':'B', 'id2':'C'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level4.js b/src/42_evals/Cursus/NetPractice/drill/js/level4.js new file mode 100644 index 0000000..7b5d04f --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level4.js @@ -0,0 +1,36 @@ + +var level = 4; + +var hosts = [ + {'id':'A', 'type':'client', 'name':'A nice host', 'geometry':'200x220+800+800', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'B', 'type':'client', 'name':'Another host', 'geometry':'200x220+700+200', 'img':'host.png', 'labelpos':'180,30'}, + {'id':'R', 'type':'router', 'name':'My_Gate', 'geometry':'200x200+300+500', 'img':'router.png', 'labelpos':'-160,120'}, + {'id':'S', 'type':'switch', 'name':'Switch-1', 'geometry':'150x150+700+500', 'img':'switch.png', 'labelpos':'80,110'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ +]; + + +var ifs = [ + {'if':'A1', 'hid':'A', 'ip':'[60-125]a.[1-254]b.[110-119]c.132', 'mask':'255.255.255.240', 'ip_edit':'false', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'B1', 'hid':'B', 'ip':'[a].[b].[120-129]d.193', 'mask':'255.255.0.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'100,200'}, + {'if':'R1', 'hid':'R', 'ip':'[a].[b].[c].91', 'mask':'/23', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'190,10'}, + {'if':'R2', 'hid':'R', 'ip':'[a].[b].[c].1', 'mask':'255.255.255.128', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'0,190'}, + {'if':'R3', 'hid':'R', 'ip':'[a].[b].[c].244', 'mask':'255.255.255.192', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'-170,0'}, + {'if':'S1', 'hid':'S', 'ip':'0.0.0.0', 'mask':'/32', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'} +]; + + +var links = [ + {'if1':'R1', 'if2':'S1'}, + {'if1':'S1', 'if2':'A1'}, + {'if1':'S1', 'if2':'B1'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'A', 'id2':'B'}, + {'id':'2', 'type':'reach', 'id1':'A', 'id2':'R'}, + {'id':'3', 'type':'reach', 'id1':'B', 'id2':'R'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level5.js b/src/42_evals/Cursus/NetPractice/drill/js/level5.js new file mode 100644 index 0000000..58e6122 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level5.js @@ -0,0 +1,34 @@ + +var level = 5; + +var hosts = [ + {'id':'A', 'type':'client', 'name':'Machine A', 'geometry':'200x220+900+800', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'B', 'type':'client', 'name':'Machine B', 'geometry':'200x220+800+200', 'img':'host.png', 'labelpos':'180,30'}, + {'id':'R', 'type':'router', 'name':'The Mighty Router', 'geometry':'200x200+400+500', 'img':'router.png', 'labelpos':'-200,50'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ + {'hid':'A', 'rid':'Ar1', 'route':'10..0.0.0/8', 'gate':'192.168.0.254', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'B', 'rid':'Br1', 'route':'default', 'gate':'192.168.0.254', 'route_edit':'false', 'gate_edit':'true'} +]; + + +var ifs = [ + {'if':'A1', 'hid':'A', 'ip':'104.198.14.2', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'B1', 'hid':'B', 'ip':'192.168.42.42', 'mask':'/[27-30]g', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'100,200'}, + {'if':'R1', 'hid':'R', 'ip':'[15-99]a.[1-254]c.[1-254]e.126', 'mask':'255.255.255.128', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'0,170'}, + {'if':'R2', 'hid':'R', 'ip':'[130-170]b.[1-254]d.[1-254]f.254', 'mask':'255.255.192.0', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'190,0'} +]; + + +var links = [ + {'if1':'R1', 'if2':'A1'}, + {'if1':'R2', 'if2':'B1'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'A', 'id2':'R'}, + {'id':'2', 'type':'reach', 'id1':'B', 'id2':'R'}, + {'id':'3', 'type':'reach', 'id1':'A', 'id2':'B'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level6.js b/src/42_evals/Cursus/NetPractice/drill/js/level6.js new file mode 100644 index 0000000..0e20633 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level6.js @@ -0,0 +1,37 @@ + +var level = 6; + +var hosts = [ + {'id':'A', 'type':'client', 'name':'webserv.non-real.com', 'geometry':'200x220+900+800', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'R', 'type':'router', 'name':'gate.non-real.com', 'geometry':'200x200+400+500', 'img':'router.png', 'labelpos':'-150,150'}, + {'id':'I', 'type':'internet', 'name':'Internet', 'geometry':'200x240+100+200', 'img':'internet.png', 'labelpos':'-50,200'}, + {'id':'S', 'type':'switch', 'name':'sw-1.non-real.com', 'geometry':'150x150+800+500', 'img':'switch.png', 'labelpos':'80,110'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ + {'hid':'A', 'rid':'Ar1', 'route':'0.0.0.0/0', 'gate':'[20-120]a.[1-255]b.[1-255]c.1', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'R', 'rid':'Rr1', 'route':'10.0.0.0/8', 'gate':'163.172.250.1', 'route_edit':'true', 'gate_edit':'false'}, + {'hid':'I', 'rid':'Ir1', 'route':'[a].[b].[c].0/31', 'gate':'163.172.250.12', 'route_edit':'true', 'gate_edit':'false'} +]; + + +var ifs = [ + {'if':'A1', 'hid':'A', 'ip':'[a].[b].[c].227', 'mask':'255.255.255.0', 'ip_edit':'false', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'R1', 'hid':'R', 'ip':'[a].[b].[c].254', 'mask':'255.255.255.128', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'190,10'}, + {'if':'R2', 'hid':'R', 'ip':'163.172.250.12', 'mask':'255.255.255.240', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'-150,0'}, + {'if':'S1', 'hid':'S', 'ip':'0.0.0.0', 'mask':'/32', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'}, + {'if':'Somewhere on the Net', 'hid':'I', 'ip':'8.8.8.8', 'mask':'/16', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,-50', 'type':'std'}, + {'if':'I1', 'hid':'I', 'ip':'163.172.250.1', 'mask':'/28', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'} +]; + + +var links = [ + {'if1':'I1', 'if2':'R2'}, + {'if1':'R1', 'if2':'S1'}, + {'if1':'S1', 'if2':'A1'} +]; + +var goals = [ + {'id':'1', 'type':'reach_if', 'if_id1':'A1', 'if_id2':'Somewhere on the Net'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level7.js b/src/42_evals/Cursus/NetPractice/drill/js/level7.js new file mode 100644 index 0000000..3f9133e --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level7.js @@ -0,0 +1,38 @@ + +var level = 7; + +var hosts = [ + {'id':'A', 'type':'client', 'name':'dev.non-real.net', 'geometry':'200x220+900+200', 'img':'host.png', 'labelpos':'0,200'}, + {'id':'C', 'type':'client', 'name':'accounting.non-real.net', 'geometry':'200x220+900+700', 'img':'host.png', 'labelpos':'180,100'}, + {'id':'R1', 'type':'router', 'name':'tech.non-real.net', 'geometry':'200x200+400+200', 'img':'router.png', 'labelpos':'-280,50'}, + {'id':'R2', 'type':'router', 'name':'adm.non-real.net', 'geometry':'200x200+400+700', 'img':'router.png', 'labelpos':'-30,170'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ + {'hid':'A', 'rid':'Ar1', 'route':'0.0.0.0/0', 'gate':'0.0.0.0', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'C', 'rid':'Cr1', 'route':'0.0.0.0/0', 'gate':'0.0.0.0', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'R1', 'rid':'R1r1', 'route':'0.0.0.0/0', 'gate':'0.0.0.0', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'R2', 'rid':'R2r1', 'route':'0.0.0.0/0', 'gate':'0.0.0.0', 'route_edit':'true', 'gate_edit':'true'} +]; + + +var ifs = [ + {'if':'A1', 'hid':'A', 'ip':'[90-120]a.198.14.2', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'C1', 'hid':'C', 'ip':'[a].198.14.1', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'20,-50'}, + {'if':'R11', 'hid':'R1', 'ip':'[a].198.14.1', 'mask':'255.255.255.0', 'ip_edit':'false', 'mask_edit':'true', 'type':'std', 'pos':'190,10'}, + {'if':'R12', 'hid':'R1', 'ip':'[a].198.14.254', 'mask':'255.255.255.0', 'ip_edit':'false', 'mask_edit':'true', 'type':'std', 'pos':'80,160'}, + {'if':'R21', 'hid':'R2', 'ip':'[a].198.14.149', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'R22', 'hid':'R2', 'ip':'[a].198.14.252', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'190,90'} +]; + + +var links = [ + {'if1':'R11', 'if2':'A1'}, + {'if1':'R12', 'if2':'R21'}, + {'if1':'R22', 'if2':'C1'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'A', 'id2':'C'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level8.js b/src/42_evals/Cursus/NetPractice/drill/js/level8.js new file mode 100644 index 0000000..20a5f03 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level8.js @@ -0,0 +1,46 @@ + +var level = 8; + +var hosts = [ + {'id':'C', 'type':'client', 'name':'office.non-real.com', 'geometry':'200x220+600+900', 'img':'host.png', 'labelpos':'180,100'}, + {'id':'D', 'type':'client', 'name':'home.non-real.com', 'geometry':'200x220+100+900', 'img':'host.png', 'labelpos':'180,100'}, + {'id':'R1', 'type':'router', 'name':'gate.non-real.com', 'geometry':'200x200+400+200', 'img':'router.png', 'labelpos':'-270,20'}, + {'id':'R2', 'type':'router', 'name':'transit.my-isp.org', 'geometry':'200x200+400+600', 'img':'router.png', 'labelpos':'-30,170'}, + {'id':'I', 'type':'internet', 'name':'Internet', 'geometry':'200x240+900+175', 'img':'internet.png', 'labelpos':'-50,200'}, +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference and keep routes in host order +var routes = [ + {'hid':'C', 'rid':'Cr1', 'route':'0.0.0.0/0', 'gate':'10.0.0.254', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'D', 'rid':'Dr1', 'route':'default', 'gate':'8.8.8.8', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'R1', 'rid':'R1r2', 'route':'192.168.0.0/26', 'gate':'10.0.0.2', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'R1', 'rid':'R1r3', 'route':'0.0.0.0/0', 'gate':'163.[1-254]a.250.1', 'route_edit':'false', 'gate_edit':'false'}, + {'hid':'R2', 'rid':'R2r1', 'route':'10.0.0.0/8', 'gate':'[128-170]b.[1-254]c.[1-254]d.62', 'route_edit':'true', 'gate_edit':'false'}, + {'hid':'I', 'rid':'Ir1', 'route':'[b].[c].[d].0/26', 'gate':'163.[a].250.254', 'route_edit':'false', 'gate_edit':'true'} +]; + + +var ifs = [ + {'if':'C1', 'hid':'C', 'ip':'192.168.0.1', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'20,-50'}, + {'if':'D1', 'hid':'D', 'ip':'8.9.10.11', 'mask':'255.255.255.240', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'0,-50'}, + {'if':'R12', 'hid':'R1', 'ip':'163.[a].250.12', 'mask':'255.255.255.240', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'190,20'}, + {'if':'R13', 'hid':'R1', 'ip':'10.0.0.1', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'20,160'}, + {'if':'R21', 'hid':'R2', 'ip':'10.0.0.2', 'mask':'255.255.0.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'R22', 'hid':'R2', 'ip':'192.168.0.254', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'190,90'}, + {'if':'R23', 'hid':'R2', 'ip':'8.8.8.8', 'mask':'/18', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'-150,90'}, + {'if':'I1', 'hid':'I', 'ip':'163.[a].250.1', 'mask':'/28', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'} +]; + + +var links = [ + {'if1':'I1', 'if2':'R12'}, + {'if1':'R13', 'if2':'R21'}, + {'if1':'R22', 'if2':'C1'}, + {'if1':'R23', 'if2':'D1'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'C', 'id2':'D'}, + {'id':'2', 'type':'reach', 'id1':'C', 'id2':'I'}, + {'id':'3', 'type':'reach', 'id1':'D', 'id2':'I'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/level9.js b/src/42_evals/Cursus/NetPractice/drill/js/level9.js new file mode 100644 index 0000000..795e4be --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/level9.js @@ -0,0 +1,64 @@ + +var level = 9; + +var hosts = [ + {'id':'A', 'type':'client', 'name':'meson', 'geometry':'200x220+100+800', 'img':'host.png', 'labelpos':'-50,200'}, + {'id':'B', 'type':'client', 'name':'ion', 'geometry':'200x220+100+200', 'img':'host.png', 'labelpos':'180,30'}, + {'id':'C', 'type':'client', 'name':'cation', 'geometry':'200x220+1000+800', 'img':'host.png', 'labelpos':'100,190'}, + {'id':'D', 'type':'client', 'name':'gluon', 'geometry':'200x220+600+1300', 'img':'host.png', 'labelpos':'180,80'}, + {'id':'R1', 'type':'router', 'name':'proton', 'geometry':'200x200+500+500', 'img':'router.png', 'labelpos':'-150,150'}, + {'id':'R2', 'type':'router', 'name':'boson', 'geometry':'200x200+600+900', 'img':'router.png', 'labelpos':'-200,100'}, + {'id':'I', 'type':'internet', 'name':'Internet', 'geometry':'200x240+800+200', 'img':'internet.png', 'labelpos':'100,200'}, + {'id':'S', 'type':'switch', 'name':'neutron', 'geometry':'150x150+200+500', 'img':'switch.png', 'labelpos':'-80,110'} +]; + +// routes are processed in order, first match only is used => default must be last - KEEP routes before interfaces for random reference +var routes = [ + {'hid':'A', 'rid':'Ar1', 'route':'0.0.0.0/0', 'gate':'[11-126]e.198.[1-254]f.1', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'B', 'rid':'Br1', 'route':'8.8.8.8/16', 'gate':'[e].199.[f].1', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'C', 'rid':'Cr1', 'route':'0.0.0.0/0', 'gate':'10.0.0.254', 'route_edit':'false', 'gate_edit':'true'}, + {'hid':'D', 'rid':'Dr1', 'route':'10.0.0.0/8', 'gate':'[11-126]a.[1-254]b.[1-254]c.[1-254]d', 'route_edit':'true', 'gate_edit':'false'}, + {'hid':'R1', 'rid':'R1r1', 'route':'10.0.0.0/8', 'gate':'[11-126]j.[1-254]k.14.253', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'R1', 'rid':'R1r2', 'route':'192.168.24.12/26', 'gate':'[j].[k].15.253', 'route_edit':'true', 'gate_edit':'true'}, + {'hid':'R1', 'rid':'R1r3', 'route':'0.0.0.0/0', 'gate':'163.172.250.1', 'route_edit':'false', 'gate_edit':'false'}, + {'hid':'R2', 'rid':'R2r1', 'route':'0.0.0.0/0', 'gate':'[j].[k].16.254', 'route_edit':'false', 'gate_edit':'true'}, + {'hid':'I', 'rid':'Ir1', 'route':'[e].198.[f].0/22', 'gate':'163.172.250.12', 'route_edit':'true', 'gate_edit':'false'}, + {'hid':'I', 'rid':'Ir2', 'route':'10.0.0.0/27', 'gate':'163.172.250.12', 'route_edit':'true', 'gate_edit':'false'}, + {'hid':'I', 'rid':'Ir3', 'route':'default', 'gate':'163.172.250.12', 'route_edit':'true', 'gate_edit':'false'} +]; + + +var ifs = [ + {'if':'A1', 'hid':'A', 'ip':'192.168.[1-254]g.2', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'B1', 'hid':'B', 'ip':'192.168.[1-254]h.42', 'mask':'255.255.0.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'100,200'}, + {'if':'C1', 'hid':'C', 'ip':'10.0.0.1', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'20,-50'}, + {'if':'D1', 'hid':'D', 'ip':'[j].[k].19.131', 'mask':'255.255.255.192', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'0,-50'}, + {'if':'R11', 'hid':'R1', 'ip':'192.168.[1-254]i.1', 'mask':'255.255.255.128', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'-150,0'}, + {'if':'R12', 'hid':'R1', 'ip':'163.172.250.12', 'mask':'255.255.255.240', 'ip_edit':'false', 'mask_edit':'false', 'type':'std', 'pos':'190,10'}, + {'if':'R13', 'hid':'R1', 'ip':'[j].[k].17.254', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'130,140'}, + {'if':'R21', 'hid':'R2', 'ip':'[j].[k].18.253', 'mask':'255.255.255.252', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'0,-50'}, + {'if':'R22', 'hid':'R2', 'ip':'10.0.0.254', 'mask':'255.255.255.0', 'ip_edit':'true', 'mask_edit':'true', 'type':'std', 'pos':'190,80'}, + {'if':'R23', 'hid':'R2', 'ip':'8.8.8.8', 'mask':'/18', 'ip_edit':'true', 'mask_edit':'false', 'type':'std', 'pos':'30,180'}, + {'if':'S1', 'hid':'S', 'ip':'0.0.0.0', 'mask':'/32', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'}, + {'if':'I1', 'hid':'I', 'ip':'163.172.250.1', 'mask':'/28', 'ip_edit':'false', 'mask_edit':'false', 'pos':'0,0', 'type':'hidden'} +]; + + +var links = [ + {'if1':'I1', 'if2':'R12'}, + {'if1':'R11', 'if2':'S1'}, + {'if1':'S1', 'if2':'A1'}, + {'if1':'S1', 'if2':'B1'}, + {'if1':'R13', 'if2':'R21'}, + {'if1':'R22', 'if2':'C1'}, + {'if1':'R23', 'if2':'D1'} +]; + +var goals = [ + {'id':'1', 'type':'reach', 'id1':'A', 'id2':'B'}, + {'id':'2', 'type':'reach', 'id1':'C', 'id2':'D'}, + {'id':'3', 'type':'reach', 'id1':'A', 'id2':'I'}, + {'id':'4', 'type':'reach', 'id1':'A', 'id2':'D'}, + {'id':'5', 'type':'reach', 'id1':'B', 'id2':'C'}, + {'id':'6', 'type':'reach', 'id1':'C', 'id2':'I'} +]; diff --git a/src/42_evals/Cursus/NetPractice/drill/js/show.js b/src/42_evals/Cursus/NetPractice/drill/js/show.js new file mode 100644 index 0000000..efe9e8a --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/show.js @@ -0,0 +1,347 @@ + +var g_sim_logs = ''; +var g_my_login = 0; +var g_rand_prev; +var g_rand_repl = []; +var g_eval_lvls; + + +function my_console_log(str) +{ +// console.log(str); +} + + +function hash_login(login) +{ + var seed = 0; + for (var i = 0; i < login.length; i ++) + { + if (i%2 == 0) + seed += 973 * (login.charCodeAt(i)+i); + else + seed += 5 * login.charCodeAt(i) * i; + } +// console.log("hash login : '"+login+"' -> "+seed); + return (seed); +} + + +function err(thetype, field) +{ + my_console_log("Fatal error in "+thetype+", on field "+field); + throw ''; +} + + +function my_random(a, b) +{ + if (g_my_login == '') + return (Math.round(parseInt(a) + (parseInt(b)-parseInt(a))*Math.random())); + var prev = g_rand_prev; + prev ^= prev << 13; + prev ^= prev >> 17; + prev ^= prev << 5; + g_rand_prev = prev; + prev = (prev & 0x7FFFFFFF) % (parseInt(b)-parseInt(a)+1); + return (Math.round(parseInt(a) + prev)); +} + +function random_repl(str) +{ + var regex = /\[(\d+)-(\d+)\]([a-z])/g; + var res; + var str2 = str; + while (res = regex.exec(str)) + { + my_console_log(res); + g_rand_repl[res[3]] = my_random(res[1], res[2]); + str2 = str2.replace(res[0], ""+g_rand_repl[res[3]]); + my_console_log(str2); + } + regex = /\[([a-z])\]/g; + while (res = regex.exec(str)) + { + my_console_log(res); + if (g_rand_repl[res[1]] != null) + { + str2 = str2.replace(res[0], ""+g_rand_repl[res[1]]); + my_console_log(str2); + } + else + return (null); + } + + if (str2 == "default") return (str2); + // check if any non digital, non dot, non slash char, except previous line + regex = /[^\d\.\/]/g; + if (regex.exec(str2)) + return (null); + + return (str2); +} + +function show_host(root, h) +{ + if (!h['id']) err("hosts", "id"); + if (!h['type']) err("hosts id "+h['id'], "type"); + if (!h['name']) err("hosts id "+h['id'], "name"); + if (!h['geometry']) err("hosts id "+h['id'], "geometry"); + if (!h['img']) err("hosts id "+h['id'], "img"); + + var tab = h['geometry'].split(/[^0-9]+/); + if (tab.length != 4) err("hosts id "+h['id'], "geometry parsing"); + h['w'] = parseInt(tab[0]); + h['h'] = parseInt(tab[1]); + h['x'] = parseInt(tab[2]); + h['y'] = parseInt(tab[3]); + + var newelem = document.createElement('div'); + newelem.className = 'host_div'; + newelem.style.position = "absolute"; + newelem.style.width = h['w']+'px'; + newelem.style.height = h['h']+'px'; + newelem.style.top = h['y'] + 'px'; + newelem.style.left = h['x'] + 'px'; + newelem.style.backgroundImage = 'url(img/'+h['img']+')'; + root.appendChild(newelem); + + // label + routes + var tab = h['labelpos'].split(','); + if (tab.length != 2) err("host id "+h['id'], "labelpos parsing"); + h['lx'] = parseInt(tab[0]); + h['ly'] = parseInt(tab[1]); + + var newelem = document.createElement('div'); + newelem.className = 'host_info_div'; + newelem.style.position = "absolute"; + newelem.style.top = (h['y']+h['ly'])+'px'; + newelem.style.left = (h['x']+h['lx'])+'px'; + var label = ''; + var str = ''; + routes.forEach(r => {if (h['id'] == r['hid']) { str += '\n'; r['h'] = h;}}); + if (str != '') label += '\n'+str; + label += '
'+h['type']+' '+h['id']+': '+h['name']+'
'+get_route_info(r)+'
Routes :
'; + newelem.innerHTML = label; + root.appendChild(newelem); + +} + + + +function get_route_info(r) +{ + if (!r['rid']) err("route", "rid"); + if (!r['hid']) err("route id "+r['rid'], "hid"); + if (!r['route']) err("route id "+r['rid'], "route"); + if (!r['route_edit']) err("route id "+r['rid'], "route_edit"); + if (!r['gate']) err("route id "+r['rid'], "gate"); + if (!r['gate_edit']) err("route id "+r['rid'], "gate_edit"); + + if ((r['route'] = random_repl(r['route'])) == null) err("route id "+r['rid'], "route ip random syntax"); + if ((r['gate'] = random_repl(r['gate'])) == null) err("route id "+r['rid'], "gate random syntax"); + + if (r['route_edit'] == 'true') route_active = ''; else route_active = 'disabled'; + if (r['gate_edit'] == 'true') gate_active = ''; else gate_active = 'disabled'; + var routestr = ' => '; +// my_console_log("add label route : ##"+routestr); + return (routestr); +} + + + +function show_ifs(root, itf) +{ + if (!itf['if']) err("ifs", "if"); + if (!itf['hid']) err("ifs "+itf['if'], "hid"); + if (!itf['ip']) err("ifs "+itf['if'], "ip"); + if (!itf['mask']) err("ifs "+itf['if'], "mask"); + if (!itf['ip_edit']) err("ifs "+itf['if'], "ip_edit"); + if (!itf['mask_edit']) err("ifs "+itf['if'], "mask_edit"); + if (!itf['type']) err("ifs "+itf['if'], "type"); + if (!itf['pos']) err("ifs "+itf['if'], "pos"); + + if ((itf['ip'] = random_repl(itf['ip'])) == null) err("ifs "+itf['if'], "ip random syntax"); + if ((itf['mask'] = random_repl(itf['mask'])) == null) err("ifs "+itf['if'], "mask random syntax"); + + hosts.forEach(h => {if (itf['hid'] == h['id']) itf['h'] = h}); + + var tab = itf['pos'].split(','); + if (tab.length != 2) err("ifs id "+itf['if'], "pos parsing"); + itf['dx'] = parseInt(tab[0]); + itf['dy'] = parseInt(tab[1]); + + if (itf['type'] == 'std') + { + var newelem = document.createElement('div'); + newelem.className = 'itf_div'; + newelem.style.position = "absolute"; + newelem.style.top = (itf['h']['y']+itf['dy'])+'px'; + newelem.style.left = (itf['h']['x']+itf['dx'])+'px'; + if (itf['ip_edit'] == 'true') ip_active = ''; else ip_active = 'disabled'; + if (itf['mask_edit'] == 'true') mask_active = ''; else mask_active = 'disabled'; + newelem.innerHTML = 'Interface '+itf['if']+'
IP :
Mask : '; + root.appendChild(newelem); + } +} + + + + + +function draw_links(root, l) +{ + if (!l['if1'] || !l['if2']) err("links", "id"); + + ifs.forEach(i => {if (i['if'] == l['if1']) l['e1'] = i}); + ifs.forEach(i => {if (i['if'] == l['if2']) l['e2'] = i}); + + hosts.forEach(h => {if (h['id'] == l['e1']['hid']) l['h1'] = h}); + hosts.forEach(h => {if (h['id'] == l['e2']['hid']) l['h2'] = h}); + + var aLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); + aLine.setAttribute('id', 'link_'+l['if1']+'_'+l['if2']); + aLine.id = 'link_'+l['if1']+'_'+l['if2']; + aLine.setAttribute('x1', ""+(parseInt(l['h1']['x'])+parseInt(l['h1']['w'])/2)); + aLine.setAttribute('y1', ""+(parseInt(l['h1']['y'])+parseInt(l['h1']['h'])/2)); + aLine.setAttribute('x2', ""+(parseInt(l['h2']['x'])+parseInt(l['h2']['w'])/2)); + aLine.setAttribute('y2', ""+(parseInt(l['h2']['y'])+parseInt(l['h2']['h'])/2)); + aLine.setAttribute('stroke', "black"); + aLine.setAttribute('stroke-width', 3); + (document.getElementById('sl')).appendChild(aLine); +} + + +function prep_goals(g) +{ + if (!g['id']) err("goals", "id"); + if (!g['type']) err("goals "+g['id'], "type"); + if (g['type'] == 'reach') + { + if (!g['id1']) err("goals "+g['id'], "id1"); + if (!g['id2']) err("goals "+g['id'], "id2"); + hosts.forEach(h => {if (h['id'] == g['id1']) g['h1'] = h}); + hosts.forEach(h => {if (h['id'] == g['id2']) g['h2'] = h}); + } + if (g['type'] == 'reach_if') + { + if (!g['if_id1']) err("goals "+g['id'], "if_id1"); + if (!g['if_id2']) err("goals "+g['id'], "if_id2"); + ifs.forEach(itf => {if (itf['if'] == g['if_id1']) { g['h1'] = itf['h']; g['if1'] = itf;}}); + ifs.forEach(itf => {if (itf['if'] == g['if_id2']) { g['h2'] = itf['h']; g['if2'] = itf;}}); + } +} + + +function next_eval() +{ + if (g_eval_lvls.length >= 3) + return ('end.html'); + var lvl; + do { + lvl = Math.round(6 + 4*Math.random()); + } while (g_eval_lvls.includes(lvl)) + g_eval_lvls.push(lvl); + localStorage.setItem("g_my_eval", JSON.stringify(g_eval_lvls)); + return ('level'+lvl+'.html'); +} + + +function my_download(filename, text) +{ + var element = document.createElement('a'); + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); + element.setAttribute('download', filename); + + element.style.display = 'none'; + document.body.appendChild(element); + + element.click(); + + document.body.removeChild(element); +} + +function dl_config() +{ + var infos = { 'routes':{}, 'ifs':{} }; + routes.forEach(elem => { infos['routes'][elem['rid']] = {}; + if (elem['route_edit'] == 'true') infos['routes'][elem['rid']]['route'] = document.getElementById('route_'+elem['rid']).value; + if (elem['gate_edit'] == 'true') infos['routes'][elem['rid']]['gate'] = document.getElementById('gate_'+elem['rid']).value; + }); + ifs.forEach(elem => { infos['ifs'][elem['if']] = {}; + if (elem['ip_edit'] == 'true') infos['ifs'][elem['if']]['ip'] = document.getElementById('ip_'+elem['if']).value; + if (elem['mask_edit'] == 'true') infos['ifs'][elem['if']]['mask'] = document.getElementById('mask_'+elem['if']).value; + }); + my_download('level'+level+'.json', JSON.stringify(infos)); +} + + +function show_goals(g) +{ + g_sim_logs += '******* Goal ID '+g['id']+' ********\n'; + var div = document.getElementById("goals_id"); + div.innerHTML += 'Goal '+g['id']+' : '; + if (g['type'] == 'reach') + { + var obj = sim_goal(g); + div.innerHTML += ''+g['h1']['name']+' need to communicate with '+g['h2']['name']+' - Status : '+obj.text; + } + if (g['type'] == 'reach_if') + { + var obj = sim_goal(g); + div.innerHTML += 'Interface '+g['if1']['if']+' need to communicate with interface '+g['if2']['if']+' - Status : '+obj.text; + } + div.innerHTML += '
\n'; + return (obj.status); +} + + +function all_goals() +{ + if (g_my_login != '') + g_sim_logs = '** generated for login "'+g_my_login+'" **\n'; + else + g_sim_logs = '** evaluation mode round '+g_eval_lvls.length+'**\n'; + document.getElementById("goals_id").innerHTML = '

Level '+level+' :

\n'; + var nb = 0; + goals.forEach(elem => nb += show_goals(elem)); + document.getElementById("goals_id").innerHTML += ' '; + if (nb == goals.length) + { + if (g_my_login != '') + { + if (level < 10) + document.getElementById("goals_id").innerHTML += " "; + else + document.getElementById("goals_id").innerHTML += " "; + } + else + { // defense case + document.getElementById("goals_id").innerHTML += " "; + } + } + document.getElementById("logs_id").innerHTML = g_sim_logs.replace(/\n/g, '
'); +} + + +function load_board() +{ + if (!(g_my_login = localStorage.getItem("g_my_login"))) + g_my_login = ''; // will means evaluation & full random + g_rand_prev = level + hash_login(g_my_login); // initialize replayable pseudo random generator + if (g_my_login == '') + g_eval_lvls = JSON.parse(localStorage.getItem("g_my_eval")); + + var root = document.getElementById("root_id"); + + hosts.forEach(elem => show_host(root, elem)); + + ifs.forEach(elem => show_ifs(root, elem)); + + links.forEach(elem => draw_links(root, elem)); + + goals.forEach(elem => prep_goals(elem)); + all_goals(); + // only for very first time : don't show any log + document.getElementById("logs_id").innerHTML = 'Logs will be displayed here'; +} diff --git a/src/42_evals/Cursus/NetPractice/drill/js/sim.js b/src/42_evals/Cursus/NetPractice/drill/js/sim.js new file mode 100644 index 0000000..737676a --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/js/sim.js @@ -0,0 +1,375 @@ + + +var visited_host = []; + +var private_subnets = [ + {'hid':'__none__', 'rid':'private_class_A', 'route':'10.0.0.0/8', 'gate':'0.0.0.0', 'route_edit':'false', 'gate_edit':'false', 'h':{'type':'internet'}}, + {'hid':'__none__', 'rid':'private_class_B', 'route':'172.16.0.0/12', 'gate':'0.0.0.0', 'route_edit':'false', 'gate_edit':'false', 'h':{'type':'internet'}}, + {'hid':'__none__', 'rid':'private_class_C', 'route':'192.168.0.0/16', 'gate':'0.0.0.0', 'route_edit':'false', 'gate_edit':'false', 'h':{'type':'internet'}} +]; + +// simulate network + + +function ip_to_int(s) +{ + var tab = s.split('.'); + if (tab.length != 4) return (null); + if (parseInt(tab[0]) < 0 || parseInt(tab[0]) > 223 || parseInt(tab[1]) < 0 || parseInt(tab[1]) > 255 || + parseInt(tab[2]) < 0 || parseInt(tab[2]) > 255 || parseInt(tab[3]) < 0 || parseInt(tab[3]) > 255) return (null); + if (parseInt(tab[0]) == 127) { g_sim_logs += "loopback address detected on outside interface\n"; return (null); } // maybe not the best option to deal with 127/8 loopback addresses... + return ( ( (parseInt(tab[0]) << 24) | ((parseInt(tab[1])) << 16) | ((parseInt(tab[2])) << 8) | (parseInt(tab[3])) ) >>> 0); +} + +function mask_to_int(s) +{ + if (s.length == 0) return (null); + if (s[0] == '/') + { + var cidr = parseInt(s.substring(1)); + if (cidr < 0 || cidr > 32) return (null); + return ( ((1 << cidr)-1) << (32-cidr)); + } + var tab = s.split('.'); + if (tab.length != 4) return (null); + if (parseInt(tab[0]) < 0 || parseInt(tab[0]) > 255 || parseInt(tab[1]) < 0 || parseInt(tab[1]) > 255 || + parseInt(tab[2]) < 0 || parseInt(tab[2]) > 255 || parseInt(tab[3]) < 0 || parseInt(tab[3]) > 255) return (null); + if (parseInt(tab[0]) != 255 && (parseInt(tab[1]) != 0 || parseInt(tab[2]) != 0 || parseInt(tab[3]) != 0)) return (null); + if (parseInt(tab[0]) == 255 && parseInt(tab[1]) != 255 && (parseInt(tab[2]) != 0 || parseInt(tab[3]) != 0)) return (null); + if (parseInt(tab[0]) == 255 && parseInt(tab[1]) == 255 && parseInt(tab[2]) != 255 && parseInt(tab[3]) != 0) return (null); + // magic trick to check if we have continuity of 1 then 0 + var mask = ( ( (parseInt(tab[0]) << 24) | ((parseInt(tab[1])) << 16) | ((parseInt(tab[2])) << 8) | (parseInt(tab[3])) ) >>> 0); + if (mask == 0) return (0); + if ( ( ((~mask)+1) & (~mask) ) == 0) + return (mask); + return (null); +} + + + +// mask on interface +function get_if_mask_str(itf) +{ + if (itf['mask_edit'] == 'true') + return (document.getElementById('mask_'+itf['if']).value); + return (itf['mask']); +} +function get_if_mask(itf) +{ + return (mask_to_int(get_if_mask_str(itf))); +} + +// ip on interface +function get_if_ip_str(itf) +{ + if (itf['ip_edit'] == 'true') + return (document.getElementById('ip_'+itf['if']).value); + return (itf['ip']); +} +function get_if_ip(itf) +{ + var the_ip = ip_to_int(get_if_ip_str(itf)); + // check if ip is not the network or broadcast address + var the_mask = get_if_mask(itf); + if ( (the_ip & (~the_mask)) == 0 || + (the_ip & (~the_mask)) == (~the_mask) ) + return (null); + return (the_ip); +} + + +// route in routes +function get_route_route_str(r) +{ + if (r['route_edit'] == 'true') + return (document.getElementById('route_'+r['rid']).value); + return (r['route']); +} + +// gate in routes +function get_route_gate_str(r) +{ + if (r['gate_edit'] == 'true') + return (document.getElementById('gate_'+r['rid']).value); + return (r['gate']); +} +function get_route_gate(r) +{ + return (ip_to_int(get_route_gate_str(r))); +} + + + +function ip_match_if(ip, itf) +{ + var iip, imask; + if ((iip = get_if_ip(itf)) === null) { g_sim_logs += 'on interface '+itf['if']+': invalid IP address\n'; return (0); } + if ((imask = get_if_mask(itf)) === null) { g_sim_logs += 'on interface '+itf['if']+': invalid netmask\n'; return (0); } +// my_console_log("## "+iip+" & "+imask+" == "+ip+" & "+imask); + if (iip == ip) { g_sim_logs += "duplicate IP ("+get_if_ip_str(itf)+")\n"; return (0); } // ip_match_if is called only on output, not on arrival + if ((iip & imask) == (ip & imask)) + { + // if ip match the interface network, check that the ip is not the network addr or broadcast ? + return (1); + } + return (0); +} + + +function ip_match_route(ip, r) +{ + var str, rip, rmask; + str = get_route_route_str(r); + if (str == 'default') str = '0.0.0.0/0'; +// my_console_log("ip_match_route route :"+JSON.stringify(r)); + if (r['h']['type'] == "internet" && str == '0.0.0.0/0') + { g_sim_logs += 'invalid default route on internet '+r['hid']+'\n'; return (0); } + var tab = str.split('/'); +// my_console_log("ip_match_route check : "+str+" againt ip "+ip); + if (tab.length != 2) + { g_sim_logs += 'invalid route on host '+r['hid']+'\n'; return (0); } + if ((rip = ip_to_int(tab[0])) === null) + { g_sim_logs += 'invalid route on host '+r['hid']+'\n'; return (0); } + if ((rmask = mask_to_int('/'+tab[1])) === null) + { g_sim_logs += 'invalid route on host '+r['hid']+'\n'; return (0); } + if ((rip & rmask) == (ip & rmask)) return (1); + return (0); +} + + + + +function rec_route(ip_dest, local_target, input_itf, h) // return array of dest itf +{ + var i, nbif, nb_routes, ret, j; + var itf_ip; + + if (input_itf != null) + my_console_log(" ** to "+ip_dest+" / host "+h['id']+" input itf "+input_itf['if']+" / to match local target "+local_target); + else + my_console_log(" ** to "+ip_dest+" / host "+h['id']); + + // loop detection here + if (visited_host.includes(h)) { g_sim_logs += "on "+h['id']+' : loop detected\n'; return ([]); } + visited_host.push(h); + + // if switch : rec_route to all links + if (h['type'] == 'switch') + { + g_sim_logs += 'on switch '+h['id']+': pass to all connections\n'; + ret = []; + links.forEach(l => {if (l['e1']['hid'] == h['id']) ret = ret.concat(rec_route(ip_dest, local_target, l['e2'], l['h2'])); + else if (l['e2']['hid'] == h['id']) ret = ret.concat(rec_route(ip_dest, local_target, l['e1'], l['h1']))}); + return (ret); + } + + // on a host, is my current gate ip == the ip of the input itf ? + if (input_itf != null) + { + if ((itf_ip = get_if_ip(input_itf)) === null) { g_sim_logs += 'on '+h['id']+': invalid IP on input interface '+input_itf['if']+'\n'; return ([]); } + if (itf_ip != local_target) { g_sim_logs += 'on '+h['id']+' : packet not for me\n'; return ([]); } + } + + // accepted on host + g_sim_logs += 'on '+h['id']+' : packet accepted\n'; + + // internet does no route private addresses, so "internet interface" reject private subnets + if (h['type'] == 'internet') + { + if (ip_match_route(ip_dest, private_subnets[0]) || ip_match_route(ip_dest, private_subnets[1]) || ip_match_route(ip_dest, private_subnets[2])) + { g_sim_logs += 'private subnets not routed over internet\n'; return ([]); } + } + + // arrived ? check not only input itf, in case another itf is the target; do not check if input_itf is null (departure host) + if (input_itf != null) + { + ret = []; + ifs.forEach(itf => {if (itf['hid'] == h['id'] && (itf_ip = get_if_ip(itf)) !== null && ip_dest === itf_ip) ret.push(itf);}); + if (ret.length > 0) { g_sim_logs += 'on '+h['id']+': destination IP reached\n'; my_console_log(" destination reached !"); return (ret); } // keep multiple : means that 2 interfaces have the same ip + } + + // ip_dest match an interface ? + my_console_log('on '+h['id']+': check '+ip_dest+" against all interfaces"); + nbif = 0; ret = []; + for (i = 0; i < ifs.length; i++) + { + if (ifs[i]['hid'] == h['id']) + { + my_console_log(" chk with itf "+ifs[i]['if']); + if (ip_match_if(ip_dest, ifs[i])) + { + my_console_log(" match itf "+ifs[i]['if']); + nbif ++; + g_sim_logs += 'on '+h['id']+': send to '+ifs[i]['if']+'\n'; + links.forEach(l => {if (l['if1'] == ifs[i]['if']) ret = ret.concat(rec_route(ip_dest, ip_dest, l['e2'], l['h2'])); + else if (l['if2'] == ifs[i]['if']) ret = ret.concat(rec_route(ip_dest, ip_dest, l['e1'], l['h1']))}); + } + } + } + // force fail if multiple ifs on same subnet + if (nbif > 1) { g_sim_logs += 'on '+h['id']+': error on destination ip - multiple interface match\n'; return ([]); } + if (nbif == 1) return (ret); + + // else nbif == 0, no interface match, explore routes + my_console_log(" no itf for ip destination, go through gate"); + g_sim_logs += 'on '+h['id']+': destination does not match any interface. pass through routing table\n'; + + ret = []; + nb_routes = 0; + for (j = 0; j < routes.length; j++) + { + if (routes[j]['hid'] == h['id']) + { + if (ip_match_route(ip_dest, routes[j])) + { + g_sim_logs += 'on '+h['id']+' : route match '+get_route_route_str(routes[j])+'\n'; + nb_routes ++; + var ip_gate = get_route_gate(routes[j]); + if (ip_gate === null) { g_sim_logs += "on "+h['id']+": invalid gate IP, route "+get_route_route_str(routes[j])+"\n"; return ([]);} + nbif = 0; + for (i = 0; i < ifs.length; i++) + { + if (ifs[i]['hid'] == h['id']) + { + if (ip_match_if(ip_gate, ifs[i])) + { + my_console_log(" gate ip match itf "+ifs[i]['if']); + g_sim_logs += 'on '+h['id']+': send to gateway '+get_route_gate_str(routes[j])+' through interface '+ifs[i]['if']+'\n'; + nbif ++; + links.forEach(l => {if (l['if1'] == ifs[i]['if']) ret = ret.concat(rec_route(ip_dest, ip_gate, l['e2'], l['h2'])); + else if (l['if2'] == ifs[i]['if']) ret = ret.concat(rec_route(ip_dest, ip_gate, l['e1'], l['h1']))}); + } + } + } + if (nbif > 1) { g_sim_logs += 'on '+h['id']+' : error on gate ip - multiple interface match\n'; return ([]); } + } + } + if (nb_routes > 0) // only first route is explored. + { + if (nbif == 0) g_sim_logs += 'on '+h['id']+' : route match but no interface for gateway '+get_route_gate_str(routes[j])+'\n'; + return (ret); + } + } + // no match, fail + g_sim_logs += 'on '+h['id']+': destination does not match any route\n'; + return ([]); +} + + + +function sim_reach(g) +{ + my_console_log("check reach : "+g['id1']+" -> "+g['id2']); + var ret = []; + var i; + var itf_ip; + for (i = 0; i < ifs.length; i++) + { + if (g['id2'] == ifs[i]['hid']) + { + visited_host = []; + if ((itf_ip = get_if_ip(ifs[i])) === null) + g_sim_logs += "on interface "+ifs[i]['if']+": invalid IP\n"; + else + { + g_sim_logs +="forward way : "+g['id1']+" -> "+g['id2']+" ("+get_if_ip_str(ifs[i])+")\n"; + ret = ret.concat(rec_route(itf_ip, 0, null, g['h1'])); + } + if (ret.length > 0) + break; // if one interface matches, that's enough - if ret > 1 it's because another host matches + } + } + if (ret.length <= 0) return ({text:'KO - No forward way, try again ...', status:0}); + if (ret.length > 1) return ({text:'KO - Multiple destination hosts match ... ', status:0}); + if (ret[0]['hid'] != g['id2']) return ({text:'KO - Correct IP reached but on wrong host, try again ...', status:0}); + + // now reverse way + + my_console_log("check reach : "+g['id2']+" -> "+g['id1']); + ret = []; + for (i = 0; i < ifs.length; i++) + { + if (g['id1'] == ifs[i]['hid']) + { + visited_host = []; + if ((itf_ip = get_if_ip(ifs[i])) === null) + g_sim_logs += "on interface "+ifs[i]['if']+": invalid IP\n"; + else + { + g_sim_logs +="reverse way : "+g['id2']+" -> "+g['id1']+" ("+get_if_ip_str(ifs[i])+")\n"; + ret = ret.concat(rec_route(itf_ip, 0, null, g['h2'])); + } + if (ret.length > 0) + break; // if one interface matches, that's enough - if ret > 1 it's because another host matches + } + } + if (ret.length <= 0) return ({text:'KO - No reverse way, try again ...', status:0}); + if (ret.length > 1) return ({text:'KO - Multiple origin hosts match ... ', status:0}); + if (ret[0]['hid'] != g['id1']) return ({text:'KO - Correct IP reached but on wrong host, try again ...', status:0}); + + return ({text:'OK - Congratulations !!', status:1}); +} + + +function sim_reach_if(g) +{ + my_console_log("check reach interface : "+g['if_id1']+" -> "+g['if_id2']); + var ret = []; + var i; + var itf_ip; + for (i = 0; i < ifs.length; i++) + { + if (g['if_id2'] == ifs[i]['if']) + { + visited_host = []; + if ((itf_ip = get_if_ip(ifs[i])) === null) + g_sim_logs += "on inerface "+ifs[i]['if']+": invalid IP\n"; + else + { + g_sim_logs +="forward way : "+g['if_id1']+" -> "+g['if_id2']+" ("+get_if_ip_str(ifs[i])+")\n"; + ret = ret.concat(rec_route(itf_ip, 0, null, g['h1'])); + } + if (ret.length > 0) + break; // if one interface matches, that's enough - if ret > 1 it's because another host matches + } + } + if (ret.length <= 0) return ({text:'KO - No forward way, try again ...', status:0}); + if (ret.length > 1) return ({text:'KO - Multiple destination hosts match ... ', status:0}); + if (ret[0]['if'] != g['if_id2']) return ({text:'KO - Correct IP reached but wrong interface, try again ...', status:0}); + + // now reverse way + + my_console_log("check reach interface : "+g['if_id2']+" -> "+g['if_id1']); + ret = []; + for (i = 0; i < ifs.length; i++) + { + if (g['if_id1'] == ifs[i]['if']) + { + visited_host = []; + if ((itf_ip = get_if_ip(ifs[i])) === null) + g_sim_logs += "on interface "+ifs[i]['if']+": invalid IP\n"; + else + { + g_sim_logs +="reverse way : "+g['if_id2']+" -> "+g['if_id1']+" ("+get_if_ip_str(ifs[i])+")\n"; + ret = ret.concat(rec_route(itf_ip, 0, null, g['h2'])); + } + if (ret.length > 0) + break; // if one interface matches, that's enough - if ret > 1 it's because another host matches + } + } + if (ret.length <= 0) return ({text:'KO - No reverse way, try again ...', status:0}); + if (ret.length > 1) return ({text:'KO - Multiple origin hosts match ... ', status:0}); + if (ret[0]['if'] != g['if_id1']) return ({text:'KO - Correct IP reached but wrong interface, try again ...', status:0}); + + return ({text:'OK - Congratulations !!', status:1}); +} + + + +function sim_goal(g) +{ + if (g['type'] == 'reach') + return (sim_reach(g)); + if (g['type'] == 'reach_if') + return (sim_reach_if(g)); +} diff --git a/src/42_evals/Cursus/NetPractice/drill/level1.html b/src/42_evals/Cursus/NetPractice/drill/level1.html new file mode 100644 index 0000000..1fad18c --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level1.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level10.html b/src/42_evals/Cursus/NetPractice/drill/level10.html new file mode 100644 index 0000000..08e809e --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level10.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level2.html b/src/42_evals/Cursus/NetPractice/drill/level2.html new file mode 100644 index 0000000..ed191df --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level2.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level3.html b/src/42_evals/Cursus/NetPractice/drill/level3.html new file mode 100644 index 0000000..7ed2d15 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level3.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level4.html b/src/42_evals/Cursus/NetPractice/drill/level4.html new file mode 100644 index 0000000..5ec08ce --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level4.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level5.html b/src/42_evals/Cursus/NetPractice/drill/level5.html new file mode 100644 index 0000000..e73203d --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level5.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level6.html b/src/42_evals/Cursus/NetPractice/drill/level6.html new file mode 100644 index 0000000..b98fff7 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level6.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level7.html b/src/42_evals/Cursus/NetPractice/drill/level7.html new file mode 100644 index 0000000..9bba902 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level7.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level8.html b/src/42_evals/Cursus/NetPractice/drill/level8.html new file mode 100644 index 0000000..e696aa8 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level8.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/drill/level9.html b/src/42_evals/Cursus/NetPractice/drill/level9.html new file mode 100644 index 0000000..ccd396f --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/drill/level9.html @@ -0,0 +1,18 @@ + + + + + + + + + + +
+
+ +
+
+ + + diff --git a/src/42_evals/Cursus/NetPractice/img/all.jpg b/src/42_evals/Cursus/NetPractice/img/all.jpg new file mode 100755 index 0000000..9079c94 Binary files /dev/null and b/src/42_evals/Cursus/NetPractice/img/all.jpg differ diff --git a/src/42_evals/Cursus/NetPractice/index.html b/src/42_evals/Cursus/NetPractice/index.html new file mode 100755 index 0000000..e0907d5 --- /dev/null +++ b/src/42_evals/Cursus/NetPractice/index.html @@ -0,0 +1,381 @@ + + + + + + + NetPractice correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Preliminaries

+

If cheating is suspected, the evaluation stops here. Use the "Cheat" flag of the + scale. Please do this calmly, wisely and use this button with caution.

+
+

Simple preliminaries

+

+

+
    +
  • Defense can only happen if the student being evaluated is present. This way everybody improves: by + exchanging ideas and sharing knowledge with each other.
  • +
  • Nothing submitted (or wrong file or directory) means 0, and the evaluation process ends.
  • +
  • In order to grade your peer, you have to clone their Git repository on your machine.
  • +
+ +

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

General instructions

+

+
+

General instructions

+

+

+
    +
  • Ensure that 10 files (1 per level) are present at the root of the + repository. Ensure that they are not empty.
  • +
+ +

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

Mandatory part

+

+ - This project is about configuring small-scale networks that have issues to + make them run. You have to download the file attached to the project's page + (the evaluated student can show you where it is). Then, run the index.html + file. + + A page will open in your web browser. Leave the login field empty to start + the 'correction' mode. + + The evaluated student must solve correctly all of the levels in 15 minutes + maximum. + Using internet or any external resource to find answers is, of course, forbidden. + + The use of a simple calculator such as "bc" is tolerated but it will be the + limit. + + You can ask questions about the different levels to the evaluated student. +

+
+

Level 1

+

+

+

If something does not work as expected or is not clearly explained, the
+ evaluation process ends now.

+ +

+
+ + +
+ + + + +
+
+

Level 2

+

+

+

If something does not work as expected or is not clearly explained, the
+ evaluation process ends now.

+ +

+
+ + +
+ + + + +
+
+

Level 3

+

+

+

If something does not work as expected or is not clearly explained, the
+ evaluation process ends now.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/Philosophers/README.md b/src/42_evals/Cursus/Philosophers/README.md new file mode 100755 index 0000000..f62c132 --- /dev/null +++ b/src/42_evals/Cursus/Philosophers/README.md @@ -0,0 +1 @@ +[Open the correction file](https://rphlr.github.io/42-Evals/Rank03/Philosophers/html/index.html) \ No newline at end of file diff --git a/src/42_evals/Cursus/Philosophers/img/all.jpg b/src/42_evals/Cursus/Philosophers/img/all.jpg new file mode 100755 index 0000000..f755c28 Binary files /dev/null and b/src/42_evals/Cursus/Philosophers/img/all.jpg differ diff --git a/src/42_evals/Cursus/Philosophers/index.html b/src/42_evals/Cursus/Philosophers/index.html new file mode 100755 index 0000000..53ebf4e --- /dev/null +++ b/src/42_evals/Cursus/Philosophers/index.html @@ -0,0 +1,489 @@ + + + + + + Philosophers correction + + + + + + + + + + Go to homepage 🏠 + + +
+
+ +
+
+
+
+

Mandatory Part

+

+
+

Error Handling

+

+

+

This project is to be coded in C, following the Norm.
+ Any crash, undefined behavior, memory leak, or norm error means 0 to
+ the project.
+ On some slow hardware, the project might not work properly. If some tests
+ don't work on your machine try to discuss it honestly before counting it
+ as false.

+ +

+
+ + +
+ + + + +
+
+

Global variables

+

+

+

Check if there is any global variable which is used to manage the shared
+ resources among the philosophers.
+ If you find such a nasty thing, the evaluation stops here. You can go on
+ and check the code, but do not grade the exercises.

+ +

+
+ + +
+ + + + +
+
+

philo code

+

+

+
    +
  • Ensure the code of philo complies with the following requirements + and ask for explanations.
  • +
  • Check there is one thread per philosopher.
  • +
  • Check there is only one fork per philosopher.
  • +
  • Check if there is a mutex per fork and that it's used to check the + fork value and/or change it.
  • +
  • Check the outputs are never mixed up.
  • +
  • Check how the death of a philosopher is verified and if there is a + mutex to prevent a philosopher from dying and starting eating at the + same time.
  • +
+ +

+
+ + +
+ + + + +
+
+

philo testing

+

+

+
    +
  • Do not test with more than 200 philosophers.
  • +
  • Do not test with time_to_die or time_to_eat or time_to_sleep set + to values lower than 60 ms.
  • +
  • Test 1 800 200 200. The philosopher should not eat and should die.
  • +
  • Test 5 800 200 200. No philosopher should die.
  • +
  • Test 5 800 200 200 7. No philosopher should die and the simulation + should stop when every philosopher has eaten at least 7 times.
  • +
  • Test 4 410 200 200. No philosopher should die.
  • +
  • Test 4 310 200 100. One philosopher should die.
  • +
  • Test with 2 philosophers and check the different times: a death + delayed by more than 10 ms is unacceptable.
  • +
  • Test with any values of your choice to verify all the requirements. + Ensure philosophers die at the right time, that they don't steal + forks, and so forth.
  • +
+ +

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

Bonus part

+

+
+

philo_bonus code

+

+

+
    +
  • Ensure the code of philo_bonus complies with the following + requirements and ask for explanations.
  • +
  • Check that there is one process per philosopher and that + the main process is not a philosopher.
  • +
  • Check that there are no orphan processes at the end of + the execution of this program.
  • +
  • Check if there is a single semaphore that represents the number of + forks.
  • +
  • Check the output is protected against multiple access. To avoid a + scrambled display.
  • +
  • Check how the death of a philosopher is verified and if there is a + semaphore to prevent a philosopher from dying and starting eating at + the same time.
  • +
+ +

+
+ + +
+ + + + +
+
+

philo_bonus testing

+

+

+
    +
  • Do not test with more than 200 philosophers.
  • +
  • Do not test with time_to_die or time_to_eat or time_to_sleep set + to values lower than 60 ms.
  • +
  • Test 5 800 200 200. No philosopher should die.
  • +
  • Test 5 800 200 200 7. No philosopher should die and the simulation + should stop when every philosopher has eaten at least 7 times.
  • +
  • Test 4 410 200 200. No philosopher should die.
  • +
  • Test 4 310 200 100. One philosopher should die.
  • +
  • Test with 2 philosophers and check the different times: a death + delayed by more than 10 ms is unacceptable.
  • +
  • Test with any values of your choice to verify all the requirements. + Ensure philosophers die at the right time, that they don't steal + forks, and so forth.
  • +
+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/Pipex/README.md b/src/42_evals/Cursus/Pipex/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Pipex/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Pipex/img/all.jpg b/src/42_evals/Cursus/Pipex/img/all.jpg new file mode 100755 index 0000000..bb1fbd6 Binary files /dev/null and b/src/42_evals/Cursus/Pipex/img/all.jpg differ diff --git a/src/42_evals/Cursus/Push_swap/README.md b/src/42_evals/Cursus/Push_swap/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Push_swap/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Push_swap/img/all.jpg b/src/42_evals/Cursus/Push_swap/img/all.jpg new file mode 100755 index 0000000..b39037b Binary files /dev/null and b/src/42_evals/Cursus/Push_swap/img/all.jpg differ diff --git a/src/42_evals/Cursus/Push_swap/index.html b/src/42_evals/Cursus/Push_swap/index.html new file mode 100644 index 0000000..9ba0acb --- /dev/null +++ b/src/42_evals/Cursus/Push_swap/index.html @@ -0,0 +1,726 @@ + + + + + + + + push_swap correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Mandatory part

+

+ Reminder : Remember that for the duration of the defence, no + segfault, nor other unexpected, premature, uncontrolled or + unexpected termination of the program, else the final grade is 0. + Use the appropriate flag. This rule is active thoughout the whole + defence. +

+
+

Memory leaks

+

+

+

Throughout the defence, pay attention to the amount of memory
+ used by push_swap (using the command top for example) in order
+ to detect any anomalies and ensure that allocated memory is
+ properly freed. If there is one memory leak (or more), the final
+ grade is 0.

+ +

+
+ + +
+ + + + +
+
+

Error management

+

+

+

In this section, we'll evaluate the push_swap's error management.
+ If at least one fails, no points will be awarded for this
+ section. Move to the next one.

+ +
    +
  • +

    Run push_swap with non numeric parameters. The program must
    + display "Error".

    +
  • +
  • +

    Run push_swap with a duplicate numeric parameter. The program
    + must display "Error".

    +
  • +
  • +

    Run push_swap with only numeric parameters including one greater
    + than MAXINT. The program must display "Error".

    +
  • +
  • +

    Run push_swap without any parameters. The program must not
    + display anything and give the prompt back.

    +
  • +
+ +

+
+ + +
+ + + + +
+
+

Push_swap - Identity test

+

+

+

In this section, we'll evaluate push_swap's behavior when given
+ a list, which has already been sorted. Execute the following 3
+ tests. If at least one fails, no points will be awarded for this
+ section. Move to the next one.

+ +
    +
  • +

    Run the following command "$>./push_swap 42". The program
    + should display nothing (0 instruction).

    +
  • +
  • +

    Run the following command "$>./push_swap 2 3". The
    + program should display nothing (0 instruction).

    +
  • +
  • +

    Run the following command "$>./push_swap 0 1 2 3". The
    + program should display nothing (0 instruction).

    +
  • +
  • +

    Run the following command "$>./push_swap 0 1 2 3 4 5 6 7 8
    + 9". The program should display nothing (0 instruction).

    +
  • +
  • +

    Run the following command "$>./push_swap 'Between 0 and 9 randomly
    + sorted values chosen>'. The program should display nothing
    + (0 instruction).

    +
  • +
+ +

+
+ + +
+ + + + +
+
+

Push_swap - Simple version

+

+

+

If the following tests fails, no points will be awarded for this
+ section. Move to the next one. Use the checker binary given on the
+ attachments.

+ +
    +
  • +

    Run "$>ARG="2 1 0"; ./push_swap $ARG | ./checker_OS $ARG".
    + Check that the checker program displays "OK" and that the
    + size of the list of instructions from push_swap is 2 OR 3.
    + Otherwise the test fails.

    +
  • +
  • +

    Run "$>ARG="'Between 0 and 3 randomly values chosen'"; ./push_swap
    + $ARG | ./checker_OS $ARG". Check that the checker program displays
    + "OK" and that the size of the list of instructions from push_swap
    + is between 0 AND 3. Otherwise the test fails.

    +
  • +
+ +

+
+ + +
+ + + + +
+
+

Another simple version

+

+

+

Execute the following 2 tests. If at least one fails, no points
+ will be awarded for this section. Move to the next one. Use the checker
+ binary given on the attachments.

+ +
    +
  • +

    Run "$>ARG="1 5 2 4 3"; ./push_swap $ARG | ./checker_OS $ARG".
    + Check that the checker program displays "OK" and that the
    + size of the list of instructions from push_swap isn't more
    + than 12. Kudos if the size of the list of instructions is 8.

    +
  • +
  • +

    Run "$>ARG="<5 random values>"; ./push_swap $ARG | ./checker_OS
    + $ARG" and replace the placeholder by 5 random valid values.
    + Check that the checker program displays "OK" and that the
    + size of the list of instructions from push_swap isn't more
    + than 12. Otherwise this test fails. You'll have to
    + specifically check that the program wasn't developed to only
    + answer correctly on the test included in this scale. You
    + should repeat this test couple of times with several
    + permutations before you validate it.

    +
  • +
+ +

+
+ + +
+ + + + +
+
+

Push_swap - Middle version

+

+

+

If the following test fails, no points will be awarded for this
+ section. Move to the next one. Move to the next one. Use the checker
+ binary given on the attachments.

+ +
    +
  • Run "$>ARG="<100 random values>"; ./push_swap $ARG | + ./checker_OS $ARG" and replace the placeholder by 100 random + valid values. Check that the checker program displays "OK" + and that the size of the list of instructions. + Give points in accordance: + +
      +
    • less than 700: 5
    • +
    • less than 900: 4
    • +
    • less than 1100: 3
    • +
    • less than 1300: 2
    • +
    • less than 1500: 1 + You'll have to specifically check that the program wasn't developed to + only answer correctly on the test included in this scale. + You should repeat this test couple of times with several + permutations before you validate it.
    • +
    +
  • +
+ +

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+

Push_swap - Advanced version

+

+

+

If the following test fails, no points will be awarded for this
+ section. Move to the next one. Move to the next one. Use the checker
+ binary given on the attachments.

+ +
    +
  • Run "$>ARG="<500 random values>"; ./push_swap $ARG | + ./checker_OS $ARG" and replace the placeholder by 500 random + valid values (One is not called John/Jane Script for + nothing). Check that the checker program displays "OK" and + that the size of the list of instructions + +
      +
    • less than 5500: 5
    • +
    • less than 7000: 4
    • +
    • less than 8500: 3
    • +
    • less than 10000: 2
    • +
    • less than 11500: 1 + You'll have to specifically check that the program wasn't developed to + only answer correctly on the test included in this scale. + You should repeat this test couple of times with several + permutations before you validate it.
    • +
    +
  • +
+ +

+
+ + +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+
+
+
+
+

Bonus

+

+ Reminder : Remember that for the duration of the defence, no + segfault, nor other unexpected, premature, uncontrolled or + unexpected termination of the program, else the final grade is 0. + Use the appropriate flag. This rule is active throughout the whole + defence. + + We will look at your bonuses if and only if your mandatory part is + EXCELLENT. This means that you must complete the mandatory part, + beginning to end, and your error management needs to be flawless, + even in cases of twisted or bad usage. So if the mandatory part + didn't score all the point during this defence bonuses will be + totally IGNORED. +

+
+

Checker program - Error management

+

+

+

In this section, we'll evaluate the checker's error management.
+ If at least one fails, no points will be awarded for this
+ section. Move to the next one.

+ +
    +
  • +

    Run checker with non numeric parameters. The program must
    + display "Error".

    +
  • +
  • +

    Run checker with a duplicate numeric parameter. The program
    + must display "Error".

    +
  • +
  • +

    Run checker with only numeric parameters including one greater
    + than MAXINT. The program must display "Error".

    +
  • +
  • +

    Run checker without any parameters. The program must not
    + display anything and give the prompt back.

    +
  • +
  • +

    Run checker with valid parameters, and write an action that
    + doesn't exist during the instruction phase. The program must
    + display "Error".

    +
  • +
  • +

    Run checker with valid parameters, and write an action with
    + one or several spaces before and/or after the action during
    + the instruction phase. The program must display "Error".

    +
  • +
+ +

+
+ + +
+ + + + +
+
+

Checker program - False tests

+

+

+

In this section, we'll evaluate the checker's ability to manage
+ a list of instructions that doesn't sort the list. Execute the
+ following 2 tests. If at least one fails, no points will be
+ awarded for this section. Move to the next one.

+ +

Don't forget to press CTRL+D to stop reading during the
+ intruction phase.

+ +
    +
  • +

    Run checker with the following command "$>./checker 0 9 1 8 2
    + 7 3 6 4 5" then write the following valid action list "[sa,
    + pb, rrr]". Checker should display "KO".

    +
  • +
  • +

    Run checker with a valid list as parameter of your choice then
    + write a valid instruction list that doesn't order the
    + integers. Checker should display "KO". You'll have to
    + specifically check that the program wasn't developed to only
    + answer correctly on the test included in this scale. You
    + should repeat this test couple of times with several
    + permutations before you validate it.

    +
  • +
+ +

+
+ + +
+ + + + +
+
+

Checker program - Right tests

+

+

+

In this section, we'll evaluate the checker's ability to manage
+ a list of instructions that sort the list. Execute the following
+ 2 tests. If at least one fails, no points will be awarded for
+ this section. Move to the next one.

+ +

Don't forget to press CTRL+D to stop reading during the
+ instruction phase.

+ +
    +
  • +

    Run checker with the following command "$>./checker 0 1 2"
    + then press CTRL+D without writing any instruction. The program
    + should display "OK".

    +
  • +
  • +

    Run checker with the following command "$>./checker 0 9 1 8 2"
    + then write the following valid action list "[pb, ra, pb, ra,
    + sa, ra, pa, pa]". The program should display "OK".

    +
  • +
  • +

    Run checker with a valid list as parameter of your choice then
    + write a valid instruction list that order the integers.
    + Checker must display "OK". You'll have to specifically check
    + that the program wasn't developed to only answer correctly on
    + the test included in this scale. You should repeat this test
    + couple of times with several permutations before you validate
    + it.

    +
  • +
+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/Cursus/So_long/README.md b/src/42_evals/Cursus/So_long/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/So_long/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/So_long/img/all.jpg b/src/42_evals/Cursus/So_long/img/all.jpg new file mode 100755 index 0000000..c5adb19 Binary files /dev/null and b/src/42_evals/Cursus/So_long/img/all.jpg differ diff --git a/src/42_evals/Cursus/So_long/index.html b/src/42_evals/Cursus/So_long/index.html new file mode 100755 index 0000000..0a0660a --- /dev/null +++ b/src/42_evals/Cursus/So_long/index.html @@ -0,0 +1,637 @@ + + + + + + so_long correction + + + + + + + + + + Go to homepage 🏠 + + +
+
+ +
+
+
+
+

Mandatory Part

+

+
+

Executable name

+

+

+

Execute the make command. The project should compile + as expected (the + Makefile should not re-link). Verify that the executable + name is so_long. + Otherwise, use the "invalid compilation" flag at the end of + the scale.

+ +

+
+ + +
+ + + + +
+
+

Parsing

+

+

+
    +
  • Test different maps.
  • +
  • Test different sizes.
  • +
  • Test different line sizes.
  • +
+

Also, check that the program returns an error and exits + properly when the + configuration file is misconfigured (e.g., an unknown + character, + duplicates, an invalid file path, and so forth).

+

Otherwise, the defense is over. Use the appropriate flag: + incomplete work, + crash...

+ +

+
+ + +
+ + + + +
+
+

Technical elements of the display

+

+

+

Time to evaluate the technical elements of the display. + Check that the level is an accurate representation of the map used as parameter.

+
    +
  • A window must open at the launch of the program. + It must remain open during the whole execution.
  • +
  • Hide all or parts of the window either by using + window or by using the screen's borders. Then, minimize the window + and maximize it back. In all cases, the content of the + window must remain consistent.
  • +
+ +

+
+ + +
+ + + + +
+
+

Basic user events

+

+

+

In this section, let's evaluate the program's user events. + Execute the 3 + following tests. If at least one of them fails, this means that + no points + must be awarded for this section and you have to move to the next one.

+
    +
  • Click the cross at the top of the window. The window must close and + the program must exit cleanly.
  • +
  • Press the ESC key. The window must close and the program must exit + cleanly. In the case of this test, you can accept that another key + exits the program, for example, Q.
  • +
  • Press the four arrow keys (it is acceptable to use the + WASD or ZQSD keys instead) in the order of your choice. Each key press must + render a visible result on the + window (player's movement).
  • +
+ +

+
+ + +
+ + + + +
+
+

Movements

+

+

+

In this section, let's evaluate the implementation of the player's movement. Execute the 5 + following tests. If at least one of them fails, this means + that no points must be awarded for this section and you + have to move to the + next one.

+
    +
  • The player's spawning position must be in accordance + with the map file.
  • +
  • Press the arrows keys (it is acceptable to use the WASD or ZQSD keys instead) + to move in every direction on the map.
  • +
  • Is the game "playable"?
  • +
+ +

+
+ + +
+ + + + +
+
+

Walls & Sprites

+

+

+

In this section, let's evaluate the map representation. Execute the following tests. If at + least one of them fails, this means that + no points + must be awarded for this section and you have to move to + the next one.

+
    +
  • The wall's texture is correctly placed and the player + cannot go through it.
  • +
  • The collectible's texture is correctly placed and the player can pick + it by walking on it.
  • +
  • The Exit texture is correctly placed and the player can finish the game + by walking on it but only after picking every collectible.
  • +
  • The player texture is correctly placed and can move + in every direction + except into the walls.
  • +
+ +

+
+ + +
+ + + + +
+
+

counter

+

+

+

In this section, let's evaluate the gameplay elements. Execute the following tests. If at + least one of them fails, this means that + no points + must be awarded for this section and you have to move to + the next one.

+
    +
  • There's a small counter displayed on the shell that counts how many movements the player + does.
  • +
  • The counter can be displayed directly on the game screen (see Bonus part).
  • +
+ +

+
+ + +
+ + + + +
+
+

MiniLibX images

+

+

+

Take a look at the code and check whether the student uses + the images from + the MLX to draw the image instead of putting pixels one by + one. ;)

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

Bonus

+

Evaluate the bonus part if, and only if, the mandatory part has been + entirely and perfectly done, and the error management handles unexpected or bad usage. + In case all + the mandatory points were not passed during the defense, + bonus points must be totally ignored.

+
+

Enemies

+

+

+

The enemy patrols cause the player to lose if they touch + them.

+

+
+ + +
+ + + + +
+
+

Sprite animation

+

+

+

There's some sprite animation. The evaluated student has to + explain what it is and how they did it.

+ +
Rate it from 0 (failed) through 5 (excellent)
+ +
+
+ +
+
+
+

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+ + + + + + diff --git a/src/42_evals/Cursus/Webserv/README.md b/src/42_evals/Cursus/Webserv/README.md new file mode 100755 index 0000000..bf885c3 --- /dev/null +++ b/src/42_evals/Cursus/Webserv/README.md @@ -0,0 +1 @@ +![Image](img/all.jpg) \ No newline at end of file diff --git a/src/42_evals/Cursus/Webserv/img/all.jpg b/src/42_evals/Cursus/Webserv/img/all.jpg new file mode 100755 index 0000000..68dad29 Binary files /dev/null and b/src/42_evals/Cursus/Webserv/img/all.jpg differ diff --git a/src/42_evals/Cursus/Webserv/index.html b/src/42_evals/Cursus/Webserv/index.html new file mode 100755 index 0000000..fbb77c9 --- /dev/null +++ b/src/42_evals/Cursus/Webserv/index.html @@ -0,0 +1,617 @@ + + + + + + + webserv correction + + + + + + + + + + Go to homepage 🏠 + +
+
+ +
+
+
+
+

Mandatory Part

+

+
+

Check the code and ask questions

+

+

+
    +
  • Launch the installation of siege with homebrew.
  • +
  • Ask explanations about the basics of an HTTP server.
  • +
  • Ask what function the group used for I/O Multiplexing.
  • +
  • Ask for an explanation of how does select() (or equivalent) work.
  • +
  • Ask if they use only one select() (or equivalent) and how they've + managed the server to accept and the client to read/write.
  • +
  • The select() (or equivalent) should be in the main loop and should + check file descriptors for read and write AT THE SAME TIME. If not, + the grade is 0 and the evaluation process ends now.
  • +
  • There should be only one read or one write per client per select() + (or equivalent). Ask the group to show you the code from the select() + (or equivalent) to the read and write of a client.
  • +
  • Search for all read/recv/write/send on a socket and check that, if + an error is returned, the client is removed.
  • +
  • Search for all read/recv/write/send and check if the returned value + is correctly checked (checking only -1 or 0 values is not enough, + both should be checked).
  • +
  • If errno is checked after read/recv/write/send, the grade is 0 and + the evaluation process ends now.
  • +
  • Writing or reading ANY file descriptor without going through the + select() (or equivalent) is strictly FORBIDDEN.
  • +
  • The project must compile without any re-link issue. If not, use the + 'Invalid compilation' flag.
  • +
  • If any point is unclear or is not correct, the evaluation stops.
  • +
+ +

+
+ + +
+ + + + +
+
+

Configuration

+

+

+

In the configuration file, check whether you can do the following and
+ test the result:

+ +
    +
  • Search for the HTTP response status codes list on the internet. + During this evaluation, if any status codes is wrong, don't give any + related points.
  • +
  • Setup multiple servers with different ports.
  • +
  • Setup multiple servers with different hostnames (use something + like: curl --resolve example.com:80:127.0.0.1 http://example.com/). +
  • +
  • Setup default error page (try to change the error 404).
  • +
  • Limit the client body (use: curl -X POST -H "Content-Type: plain/text" + --data "BODY IS HERE write something shorter or longer than body limit").
  • +
  • Setup routes in a server to different directories.
  • +
  • Setup a default file to search for if you ask for a directory.
  • +
  • Setup a list of methods accepted for a certain route (e.g., try to + delete something with and without permission).
  • +
+ +

+
+ + +
+ + + + +
+
+

Basic checks

+

+

+

Using telnet, curl, prepared files, demonstrate that the following
+ features work properly:

+ +
    +
  • GET, POST and DELETE requests should work.
  • +
  • UNKNOWN requests should not result in a crash.
  • +
  • For every test you should receive the appropriate status code.
  • +
  • Upload some file to the server and get it back.
  • +
+ +

+
+ + +
+ + + + +
+
+

Check CGI

+

+

+

Pay attention to the following:

+ +
    +
  • The server is working fine using a CGI.
  • +
  • The CGI should be run in the correct directory for relative path file access.
  • +
  • With the help of the students you should check that everything is working properly. + You have to test the CGI with the "GET" and "POST" methods.
  • +
  • You need to test with files containing errors to see if the error handling works properly. + You can use a script containing an infinite loop or an error; you are free to do whatever tests you want + within the limits of acceptability that remain at your discretion. + The group being evaluated should help you with this.
  • +
+ +

The server should never crash and an error should be visible in case of a problem.

+ +

+
+ + +
+ + + + +
+
+

Check with a browser

+

+

+
    +
  • Use the reference browser of the team. Open the network part of it, + and try to connect to the server using it.
  • +
  • Look at the request header and response header.
  • +
  • It should be compatible to serve a fully static website.
  • +
  • Try a wrong URL on the server.
  • +
  • Try to list a directory.
  • +
  • Try a redirected URL.
  • +
  • Try anything you want to.
  • +
+ +

+
+ + +
+ + + + +
+
+

Port issues

+

+

+
    +
  • In the configuration file setup multiple ports and use different + websites. Use the browser to ensure that the configuration works as + expected and shows the right website.
  • +
  • In the configuration, try to setup the same port multiple times. It + should not work.
  • +
  • Launch multiple servers at the same time with different configurations + but with common ports. Does it work? If it does, ask why the server + should work if one of the configurations isn't functional. Keep going.
  • +
+ +

+
+ + +
+ + + + +
+
+

Siege & stress test

+

+

+
    +
  • Use Siege to run some stress tests.
  • +
  • Availability should be above 99.5% for a simple GET on an empty page + with a siege -b on that page.
  • +
  • Verify there is no memory leak (Monitor the process memory usage. It + should not go up indefinitely).
  • +
  • Check if there is no hanging connection.
  • +
  • You should be able to use siege indefinitely without having to restart + the server (take a look at siege -b).
  • +
+ +

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

Bonus part

+

Evaluate the bonus part if, and only if, the mandatory part has been + entirely and perfectly done, and the error management handles unexpected + or bad usage. In case all the mandatory points were not passed during the + defense, bonus points must be totally ignored. +

+
+

Cookies and session

+

+

+

There is a working session and cookies system on the webserver.

+ +

+
+ + +
+ + + + +
+
+

CGI

+

+

+

There is more than one CGI system.

+ +

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

Ratings

+

Don’t forget to check the flag corresponding to the defense

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

Conclusion

+
+
+
+ +
+
+ + + + + diff --git a/src/42_evals/assets/favicons/favicon_128x128_bg.png b/src/42_evals/assets/favicons/favicon_128x128_bg.png new file mode 100644 index 0000000..f00d45d Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_128x128_bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_128x128_no-bg.png b/src/42_evals/assets/favicons/favicon_128x128_no-bg.png new file mode 100644 index 0000000..d1f9107 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_128x128_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_144x144_bg.png b/src/42_evals/assets/favicons/favicon_144x144_bg.png new file mode 100644 index 0000000..8756aa7 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_144x144_bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_144x144_no-bg.png b/src/42_evals/assets/favicons/favicon_144x144_no-bg.png new file mode 100644 index 0000000..c42fcc0 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_144x144_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_152x152_no-bg.png b/src/42_evals/assets/favicons/favicon_152x152_no-bg.png new file mode 100644 index 0000000..a8916e1 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_152x152_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_16x16_bg.png b/src/42_evals/assets/favicons/favicon_16x16_bg.png new file mode 100644 index 0000000..de5d012 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_16x16_bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_16x16_no-bg.png b/src/42_evals/assets/favicons/favicon_16x16_no-bg.png new file mode 100644 index 0000000..430352f Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_16x16_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_192x192_no-bg.png b/src/42_evals/assets/favicons/favicon_192x192_no-bg.png new file mode 100644 index 0000000..9bb4405 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_192x192_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_256x256_bg.png b/src/42_evals/assets/favicons/favicon_256x256_bg.png new file mode 100644 index 0000000..1db77b3 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_256x256_bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_256x256_no-bg.png b/src/42_evals/assets/favicons/favicon_256x256_no-bg.png new file mode 100644 index 0000000..d08c921 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_256x256_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_32x32_bg.png b/src/42_evals/assets/favicons/favicon_32x32_bg.png new file mode 100644 index 0000000..5e89a25 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_32x32_bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_32x32_no-bg.png b/src/42_evals/assets/favicons/favicon_32x32_no-bg.png new file mode 100644 index 0000000..a42315a Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_32x32_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_384x384_no-bg.png b/src/42_evals/assets/favicons/favicon_384x384_no-bg.png new file mode 100644 index 0000000..adbba58 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_384x384_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_48x48_no-bg.png b/src/42_evals/assets/favicons/favicon_48x48_no-bg.png new file mode 100644 index 0000000..f3ce7d0 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_48x48_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_512x512_bg.png b/src/42_evals/assets/favicons/favicon_512x512_bg.png new file mode 100644 index 0000000..7594705 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_512x512_bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_512x512_no-bg.png b/src/42_evals/assets/favicons/favicon_512x512_no-bg.png new file mode 100644 index 0000000..14b676d Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_512x512_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_64x64_bg.png b/src/42_evals/assets/favicons/favicon_64x64_bg.png new file mode 100644 index 0000000..f180668 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_64x64_bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_64x64_no-bg.png b/src/42_evals/assets/favicons/favicon_64x64_no-bg.png new file mode 100644 index 0000000..3eefc07 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_64x64_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_72x72_no-bg.png b/src/42_evals/assets/favicons/favicon_72x72_no-bg.png new file mode 100644 index 0000000..92de268 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_72x72_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_96x96_no-bg.png b/src/42_evals/assets/favicons/favicon_96x96_no-bg.png new file mode 100644 index 0000000..84116db Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_96x96_no-bg.png differ diff --git a/src/42_evals/assets/favicons/favicon_bg.ico b/src/42_evals/assets/favicons/favicon_bg.ico new file mode 100644 index 0000000..a26183a Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_bg.ico differ diff --git a/src/42_evals/assets/favicons/favicon_no-bg.ico b/src/42_evals/assets/favicons/favicon_no-bg.ico new file mode 100644 index 0000000..37f3780 Binary files /dev/null and b/src/42_evals/assets/favicons/favicon_no-bg.ico differ diff --git a/src/42_evals/assets/images/Can't explain.png b/src/42_evals/assets/images/Can't explain.png new file mode 100755 index 0000000..8db5fc0 Binary files /dev/null and b/src/42_evals/assets/images/Can't explain.png differ diff --git a/src/42_evals/assets/images/Cheat.png b/src/42_evals/assets/images/Cheat.png new file mode 100755 index 0000000..3fc4e7f Binary files /dev/null and b/src/42_evals/assets/images/Cheat.png differ diff --git a/src/42_evals/assets/images/Concerning situation.png b/src/42_evals/assets/images/Concerning situation.png new file mode 100755 index 0000000..86bfa78 Binary files /dev/null and b/src/42_evals/assets/images/Concerning situation.png differ diff --git a/src/42_evals/assets/images/Crash.png b/src/42_evals/assets/images/Crash.png new file mode 100755 index 0000000..b420baf Binary files /dev/null and b/src/42_evals/assets/images/Crash.png differ diff --git a/src/42_evals/assets/images/File.png b/src/42_evals/assets/images/File.png new file mode 100755 index 0000000..bdaf1d4 Binary files /dev/null and b/src/42_evals/assets/images/File.png differ diff --git a/src/42_evals/assets/images/Forbidden function.png b/src/42_evals/assets/images/Forbidden function.png new file mode 100755 index 0000000..592f605 Binary files /dev/null and b/src/42_evals/assets/images/Forbidden function.png differ diff --git a/src/42_evals/assets/images/Incomplete work.png b/src/42_evals/assets/images/Incomplete work.png new file mode 100755 index 0000000..bbbc6d6 Binary files /dev/null and b/src/42_evals/assets/images/Incomplete work.png differ diff --git a/src/42_evals/assets/images/Invalid compilation.png b/src/42_evals/assets/images/Invalid compilation.png new file mode 100755 index 0000000..e5d1565 Binary files /dev/null and b/src/42_evals/assets/images/Invalid compilation.png differ diff --git a/src/42_evals/assets/images/Leaks.png b/src/42_evals/assets/images/Leaks.png new file mode 100755 index 0000000..96a4bae Binary files /dev/null and b/src/42_evals/assets/images/Leaks.png differ diff --git a/src/42_evals/assets/images/No-selected.png b/src/42_evals/assets/images/No-selected.png new file mode 100755 index 0000000..cb932f7 Binary files /dev/null and b/src/42_evals/assets/images/No-selected.png differ diff --git a/src/42_evals/assets/images/No.png b/src/42_evals/assets/images/No.png new file mode 100755 index 0000000..e59761d Binary files /dev/null and b/src/42_evals/assets/images/No.png differ diff --git a/src/42_evals/assets/images/Ok.png b/src/42_evals/assets/images/Ok.png new file mode 100755 index 0000000..f5ee632 Binary files /dev/null and b/src/42_evals/assets/images/Ok.png differ diff --git a/src/42_evals/assets/images/Outstanding.png b/src/42_evals/assets/images/Outstanding.png new file mode 100755 index 0000000..ed4446b Binary files /dev/null and b/src/42_evals/assets/images/Outstanding.png differ diff --git a/src/42_evals/assets/images/Yes-selected.png b/src/42_evals/assets/images/Yes-selected.png new file mode 100755 index 0000000..c6da5f6 Binary files /dev/null and b/src/42_evals/assets/images/Yes-selected.png differ diff --git a/src/42_evals/assets/images/Yes.png b/src/42_evals/assets/images/Yes.png new file mode 100755 index 0000000..d203d8c Binary files /dev/null and b/src/42_evals/assets/images/Yes.png differ diff --git a/src/42_evals/assets/images/login-bg.png b/src/42_evals/assets/images/login-bg.png new file mode 100644 index 0000000..cb9ebcc Binary files /dev/null and b/src/42_evals/assets/images/login-bg.png differ diff --git a/src/42_evals/assets/images/site_preview.png b/src/42_evals/assets/images/site_preview.png new file mode 100755 index 0000000..fae8ee9 Binary files /dev/null and b/src/42_evals/assets/images/site_preview.png differ diff --git a/src/42_evals/css/styles.css b/src/42_evals/css/styles.css new file mode 100644 index 0000000..eef1bcd --- /dev/null +++ b/src/42_evals/css/styles.css @@ -0,0 +1,65242 @@ +.Select { + position: relative +} + +.popup { + position: fixed; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + width: 50%; + padding: 50px; + padding-bottom: calc(70px + 10px); + background: white; + border: 2px solid #000; + z-index: 5000; + text-align: center; + display: block; +} + +.popup button { + margin-top: 30px; + padding: 5px 10px; + background: #24292E; + color: white; + border: none; + cursor: pointer; + position: absolute; + left: 50%; + transform: translate(-50%, -50%); +} + +.Select, +.Select div, +.Select input, +.Select span { + box-sizing: border-box +} + +.Select.is-disabled>.Select-control { + background-color: #f9f9f9 +} + +.Select.is-disabled>.Select-control:hover { + box-shadow: none +} + +.Select.is-disabled .Select-arrow-zone { + cursor: default; + pointer-events: none +} + +.Select-control { + background-color: #fff; + border-color: #d9d9d9 #ccc #b3b3b3; + border-radius: 4px; + border: 1px solid #ccc; + color: #333; + cursor: default; + display: table; + border-spacing: 0; + border-collapse: separate; + height: 36px; + outline: none; + overflow: hidden; + position: relative; + width: 100% +} + +.Select-control:hover { + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06) +} + +.Select-control .Select-input:focus { + outline: none +} + +.is-searchable.is-open>.Select-control { + cursor: text +} + +.is-open>.Select-control { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + background: #fff; + border-color: #b3b3b3 #ccc #d9d9d9 +} + +.is-open>.Select-control>.Select-arrow { + border-color: transparent transparent #999; + border-width: 0 5px 5px +} + +.is-searchable.is-focused:not(.is-open)>.Select-control { + cursor: text +} + +.is-focused:not(.is-open)>.Select-control { + border-color: #007eff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1) +} + +.Select-placeholder, +.Select--single>.Select-control .Select-value { + bottom: 0; + color: #aaa; + left: 0; + line-height: 34px; + padding-left: 10px; + padding-right: 10px; + position: absolute; + right: 0; + top: 0; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap +} + +.has-value.Select--single>.Select-control .Select-value .Select-value-label, +.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value .Select-value-label { + color: #333 +} + +.has-value.Select--single>.Select-control .Select-value a.Select-value-label, +.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label { + cursor: pointer; + text-decoration: none +} + +.has-value.Select--single>.Select-control .Select-value a.Select-value-label:hover, +.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:hover, +.has-value.Select--single>.Select-control .Select-value a.Select-value-label:focus, +.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:focus { + color: #007eff; + outline: none; + text-decoration: underline +} + +.Select-input { + height: 34px; + padding-left: 10px; + padding-right: 10px; + vertical-align: middle +} + +.Select-input>input { + width: 100%; + background: none transparent; + border: 0 none; + box-shadow: none; + cursor: default; + display: inline-block; + font-family: inherit; + font-size: inherit; + margin: 0; + outline: none; + line-height: 14px; + padding: 8px 0 12px; +} + +.is-focused .Select-input>input { + cursor: text +} + +.has-value.is-pseudo-focused .Select-input { + opacity: 0 +} + +.Select-control:not(.is-searchable)>.Select-input { + outline: none +} + +.Select-loading-zone { + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 16px +} + +.Select-loading { + -o-animation: Select-animation-spin 400ms infinite linear; + animation: Select-animation-spin 400ms infinite linear; + width: 16px; + height: 16px; + box-sizing: border-box; + border-radius: 50%; + border: 2px solid #ccc; + border-right-color: #333; + display: inline-block; + position: relative; + vertical-align: middle +} + +.Select-clear-zone { + -o-animation: Select-animation-fadeIn 200ms; + animation: Select-animation-fadeIn 200ms; + color: #999; + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 17px +} + +.Select-clear-zone:hover { + color: #D0021B +} + +.Select-clear { + display: inline-block; + font-size: 18px; + line-height: 1 +} + +.Select--multi .Select-clear-zone { + width: 17px +} + +.Select-arrow-zone { + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 25px; + padding-right: 5px +} + +.Select-arrow { + border-color: #999 transparent transparent; + border-style: solid; + border-width: 5px 5px 2.5px; + display: inline-block; + height: 0; + width: 0 +} + +.is-open .Select-arrow, +.Select-arrow-zone:hover>.Select-arrow { + border-top-color: #666 +} + +.Select--multi .Select-multi-value-wrapper { + display: inline-block +} + +.Select .Select-aria-only { + display: inline-block; + height: 1px; + width: 1px; + margin: -1px; + clip: rect(0, 0, 0, 0); + overflow: hidden +} + +@-webkit-keyframes Select-animation-fadeIn { + from { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@keyframes Select-animation-fadeIn { + from { + opacity: 0 + } + + to { + opacity: 1 + } +} + +.Select-menu-outer { + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + background-color: #fff; + border: 1px solid #ccc; + border-top-color: #e6e6e6; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); + box-sizing: border-box; + margin-top: -1px; + max-height: 200px; + position: absolute; + top: 100%; + width: 100%; + z-index: 1; +} + +.Select-menu { + max-height: 198px; + overflow-y: auto +} + +.Select-option-group-label { + box-sizing: border-box; + background-color: #fff; + color: #666666; + font-weight: bold; + cursor: default; + display: block; + padding: 8px 10px +} + +.Select-option-group-label~.Select-option, +.Select-option-group-label~.Select-option-group { + padding-left: 20px +} + +.Select-option { + box-sizing: border-box; + background-color: #fff; + color: #666666; + cursor: pointer; + display: block; + padding: 8px 10px +} + +.Select-option:last-child { + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px +} + +.Select-option.is-selected { + background-color: #f5faff; + background-color: rgba(0, 126, 255, 0.04); + color: #333 +} + +.Select-option.is-focused { + background-color: #ebf5ff; + background-color: rgba(0, 126, 255, 0.08); + color: #333 +} + +.Select-option.is-disabled { + color: #cccccc; + cursor: default +} + +.Select-noresults { + box-sizing: border-box; + color: #999999; + cursor: default; + display: block; + padding: 8px 10px +} + +.Select--multi .Select-input { + vertical-align: middle; + margin-left: 10px; + padding: 0 +} + +.Select--multi.has-value .Select-input { + margin-left: 5px +} + +.Select--multi .Select-value { + background-color: #ebf5ff; + background-color: rgba(0, 126, 255, 0.08); + border-radius: 2px; + border: 1px solid #c2e0ff; + border: 1px solid rgba(0, 126, 255, 0.24); + color: #007eff; + display: inline-block; + font-size: 0.9em; + line-height: 1.4; + margin-left: 5px; + margin-top: 5px; + vertical-align: top +} + +.Select--multi .Select-value-icon, +.Select--multi .Select-value-label { + display: inline-block; + vertical-align: middle +} + +.Select--multi .Select-value-label { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; + cursor: default; + padding: 2px 5px +} + +.Select--multi a.Select-value-label { + color: #007eff; + cursor: pointer; + text-decoration: none +} + +.Select--multi a.Select-value-label:hover { + text-decoration: underline +} + +.Select--multi .Select-value-icon { + cursor: pointer; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; + border-right: 1px solid #c2e0ff; + border-right: 1px solid rgba(0, 126, 255, 0.24); + padding: 1px 5px 3px +} + +.Select--multi .Select-value-icon:hover, +.Select--multi .Select-value-icon:focus { + background-color: #d8eafd; + background-color: rgba(0, 113, 230, 0.08); + color: #0071e6 +} + +.Select--multi .Select-value-icon:active { + background-color: #c2e0ff; + background-color: rgba(0, 126, 255, 0.24) +} + +.Select--multi.is-disabled .Select-value { + background-color: #fcfcfc; + border: 1px solid #e3e3e3; + color: #333 +} + +.Select--multi.is-disabled .Select-value-icon { + cursor: not-allowed; + border-right: 1px solid #e3e3e3 +} + +.Select--multi.is-disabled .Select-value-icon:hover, +.Select--multi.is-disabled .Select-value-icon:focus, +.Select--multi.is-disabled .Select-value-icon:active { + background-color: #fcfcfc +} + +@keyframes Select-animation-spin { + to { + transform: rotate(1turn) + } +} + +@-webkit-keyframes Select-animation-spin { + to {} +} + +.tata_root_4bp { + width: 30px +} + +@font-face { + font-family: "Font Awesome 5 Brands"; + font-style: normal; + font-weight: normal; + src: url(/assets/fa-brands-400-9f94361a07061c7b04e404d624181ea5ca3c1446910b0e7d72a251e6ce60c9a2.eot); + src: url(/assets/fa-brands-400-9f94361a07061c7b04e404d624181ea5ca3c1446910b0e7d72a251e6ce60c9a2.eot?#iefix) format("embedded-opentype"), url(/assets/fa-brands-400-c99447c0467a6686ac287c918f58863746f4a110da909e45d3e40e110d1d2e0f.woff2) format("woff2"), url(/assets/fa-brands-400-353a87646b1c34dcc2dc840b0cf41faacc03515f8f5c796191b2f9b1bad8b18d.woff) format("woff"), url(/assets/fa-brands-400-53149c5bc7f284d402f6f50e55932fdd239b326d845e836678e5048a7f6561dd.ttf) format("truetype"), url(/assets/fa-brands-400-0007dcca9aa9fd33f6ed8df084616f2fe94a3fbc8420e1367f81ee6ec62a5199.svg#fontawesome) format("svg") +} + +@font-face { + font-family: "Font Awesome 5 Pro"; + font-style: normal; + font-weight: 300; + src: url(/assets/fa-light-300-9fb46f5a85e51bf850b2cb97ca9557d22849ce1e1e6a01b161874cc619b9febc.eot); + src: url(/assets/fa-light-300-9fb46f5a85e51bf850b2cb97ca9557d22849ce1e1e6a01b161874cc619b9febc.eot?#iefix) format("embedded-opentype"), url(/assets/fa-light-300-2f3d5fef7692918616eaa963e436ca2e166a6a446d6162f4d68734b145cc4625.woff2) format("woff2"), url(/assets/fa-light-300-d5d2d17ac67553007b5eabb25b61d8847d0a55738b81288b1199a47b46b82373.woff) format("woff"), url(/assets/fa-light-300-2c698027c82576f0b31f101dca4b8f11aea237a45deb96eb3162c26508e68d1d.ttf) format("truetype"), url(/assets/fa-light-300-13483c4c8a65347d0d3ae633df88dcff39829b0ab11a4dd4d705bb7c36234627.svg#fontawesome) format("svg") +} + +@font-face { + font-family: "Font Awesome 5 Pro"; + font-style: normal; + font-weight: 400; + src: url(/assets/fa-regular-400-6eda5a7056f9f760de7bf5602e6b80a5714ba2bc3d4478181029e392b637675e.eot); + src: url(/assets/fa-regular-400-6eda5a7056f9f760de7bf5602e6b80a5714ba2bc3d4478181029e392b637675e.eot?#iefix) format("embedded-opentype"), url(/assets/fa-regular-400-71b95feb5096d4e3f1638a20e890e424479e08bcacaf2f68275efd8e147b44de.woff2) format("woff2"), url(/assets/fa-regular-400-5aec6993b03c9ae16d2c94710a2b3eea73a0ac8c3dacc167782706f159fb3f75.woff) format("woff"), url(/assets/fa-regular-400-3255769416faa576f0ffde1be78325e94ec4a7b216f9a7a298a3100a0e1e160b.ttf) format("truetype"), url(/assets/fa-regular-400-c288add996e387aebde760e1d60afa781fb2d765c5cb588d0499e2ca1f809361.svg#fontawesome) format("svg") +} + +@font-face { + font-family: "Font Awesome 5 Pro"; + font-style: normal; + font-weight: 900; + src: url(/assets/fa-solid-900-dee190719cd2d52e761838a6437c2cf09a41b2f028f7e4fb9577ae19f8a56cb7.eot); + src: url(/assets/fa-solid-900-dee190719cd2d52e761838a6437c2cf09a41b2f028f7e4fb9577ae19f8a56cb7.eot?#iefix) format("embedded-opentype"), url(/assets/fa-solid-900-64407fa171e20487909571bc6d3410778aa012c6891893cde58f09d3f2d8b827.woff2) format("woff2"), url(/assets/fa-solid-900-ef13a1fec416abda5d02165a140a557d459e6fa929146242bf3e8ba687533f4c.woff) format("woff"), url(/assets/fa-solid-900-4844a0ecb8cddce71f5e72e43f0705dec934615ccad482c25202198068bdf824.ttf) format("truetype"), url(/assets/fa-solid-900-5d76136e3ca82f5cd9f3726f948ef9712df6b2f48fe650c684a22f7baddc5ede.svg#fontawesome) format("svg") +} + +@font-face { + font-family: "Futura PT"; + src: url(/assets/ParaType-FuturaPTLight-e7a52027b9b5978e6a6f83b096aea906b0e79399145e65e19024f94967a2411f.otf) format("opentype"); + font-weight: 200; + font-style: normal +} + +@font-face { + font-family: "Futura PT"; + src: url(/assets/ParaType-FuturaPTLightOblique-5212d3b9dd70f3017a3bd3478c96b37e8457b7d216a6f4658cbc0cdf15aea289.otf) format("opentype"); + font-weight: 200; + font-style: italic +} + +@font-face { + font-family: "Futura PT"; + src: url(/assets/ParaType-FuturaPTBook-85be74ee15c50c39cb5601ec40aee5fc3c79090582047140fc0a9827cc3f7dab.otf) format("opentype"); + font-weight: 400; + font-style: normal +} + +@font-face { + font-family: "Futura PT"; + src: url(/assets/ParaType-FuturaPTBookOblique-c68d7786d4e95e7b01a9b6815a590fd8e0893e4c2ac7866781a6dd7cf553e479.ttf) format("truetype"); + font-weight: 400; + font-style: italic +} + +@font-face { + font-family: "Futura PT"; + src: url(/assets/ParaType-FuturaPTHeavy-518b96256003be903332541a3c2ac7a54d5ba38eaeebb9bed930a530f2b8ddf9.otf) format("opentype"); + font-weight: 700; + font-style: normal +} + +@font-face { + font-family: "Futura PT"; + src: url(/assets/ParaType-FuturaPTHeavyOblique-b844b203a563c9cd175071a8a162b77459d4ac16b2493f65c0840a54385bfc8b.otf) format("opentype"); + font-weight: 700; + font-style: italic +} + +@font-face { + font-family: "Noto Sans"; + src: url(/assets/NotoSans-Regular-f1ce78a25f519ef928b5b8755ca230314e47f8821e7aa89ecf000f033f389a9f.ttf) format("truetype"); + font-weight: 400; + font-style: normal +} + +@font-face { + font-family: "Noto Sans"; + src: url(/assets/NotoSans-Italic-1109c2749ec0feaae0a044638e6286d30a79bdeab917a56a8b35e76f6e8b53f2.ttf) format("truetype"); + font-weight: 400; + font-style: italic +} + +@font-face { + font-family: "Noto Sans"; + src: url(/assets/NotoSans-Bold-7004fbb600bc491cb8ed9d86e2190cb2de6909d45844c9c7cbd44e72915779bf.ttf) format("truetype"); + font-weight: 700; + font-style: normal +} + +@font-face { + font-family: "Noto Sans"; + src: url(/assets/NotoSans-BoldItalic-15f37f93e3394e4f15d8439d3c591280356983bb9b46db45844a81f1ec62f6ae.ttf) format("truetype"); + font-weight: 700; + font-style: italic +} + +@font-face { + font-family: "source-code-pro"; + src: url(data:font/opentype;base64,d09GRgABAAAAAEScABIAAAAAe1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQVNFAAABlAAAADoAAAA6ixmUsURZTkEAAAYoAAAAzgAAAUWdS1bXR0RFRgAABvgAAAA9AAAARAOrBBRHUE9TAAAHOAAAAuQAAAW4H8ctDk9TLzIAAAWMAAAAWQAAAGBzUvckY21hcAAAQnQAAAImAAAEAEPCJiljdnQgAAAB0AAAACIAAAAiAL8LcWZwZ20AAAH0AAABAgAAAXMGWZw3Z2FzcAAAAvgAAAAIAAAACP//AANnbHlmAAAKHAAAMw4AAF88omET42hlYWQAAAMAAAAANQAAADb74/kXaGhlYQAABegAAAAgAAAAJAaGAUtobXR4AAA9LAAAAVYAAAOwKSJay2xvY2EAAD6EAAAB2gAAAdovthjwbWF4cAAABggAAAAgAAAAIAMQAjhuYW1lAAADOAAAAg0AAAQLmm06NHBvc3QAAEBgAAACEwAAAxeVQ5cocHJlcAAABUgAAABBAAAAQSazI7AAAQAAAAgAAAAEAA4AAmlkZW9yb21uAAJERkxUAA5sYXRuAA4ABgAAAAAAAQACAAgADAAB/1YAAQAAAAAAFABEAFYAAAAM/zMADAHmAAwCPgAMAn4ADAKQAAwCyAAMAAB42l2QPU7EMBCFxzgs5AZIFpItKxQrr+ipUjiRUJpAKDwNP9KuRPYOSGloXHCWoTNdLoZgko222MYz783o87MTgGsS5G34FuILk/j7TOCvfyAH+fK8SSCc1lXvSbyyOHNsrA130umaZFE/Bos66ni/jbrW729byoq58mAX8VYTdKHn8ykYKlEd2x3iHXOyiZPNnIhM2C+E/UxgwC8vnbtGk7xpw0OgwSsqPSpjdEVjG2j0yiDy1uqYlOtHf7VkvuDMqzU3lwdKF6hUBBjjQVlDQ4wq8jsWnWA8MQScGuVi8E9MRFlUSQztPBqsUZNhjTWcEz3fnbumCxUnNbj5ByTqa+QAAAAAAAH//wACeNpjYGRgYGBkidLJyYuI57f5ysDJ/AIownBWdEE9mBYTZPh/818B0yGwOCcDE0gUAEnUDEcAAAB42o1SPW/TUBQ9dtMilsCCEEv1JgbUOs+uIiv1lKQZKiE1SlAXpsR+TaLYeZH9EiljGZn4C/wMJjY2Bn4DEr+DY/sR0fKh+sn2ufecc+99fgbwFF/goL4GvGvs4AmjGrt4hDcWH+Al3lrcoObW4kN08cHiIzzDN4ub8PGDLqfxmNF757nFDo6djxa7aDqfLT7Aa+erxQ0cuy8sPsQ7N7T4CK/cTxY3MXW/9/V6ly9mcyMC6cuT8hmIbqKnSox3hVFZIS5Xsc7XOp8YlXiim6ZiVBoKMVKFyrdMjvUmj5Xo60SJYa5HarZJJ7nvST+Muhe9QVQLSp70qeVJXfUG97zXKi8WeiVq83AsfktIGc21ifVqW0ZeKKNsslTa3HjpYhp4ba/dkfKvrebGrM9bLbNbq+XCeLHOWor5oiX/vPyzoBOiD401dsixwAxzGAgEkDwSiZM9Doi6SKidQhGP6SioVcj4FrjECjHZnLXK56TiEniVL+USGO07FFWk+FbUbq1yTOeGcVx1KOdKKjRkTlf6GfmUtXNO5FVzhYhY/wI9/ojRnQq//LX79J6/dl1Vvv/3va5mLDi75h7Fnc5DesU/FOWKuFvN/cYVs91zHt0lm3GWJd2l5obZlDWm/NYe2tXdqao8fFfltzU8gXO0uAzPaE1+yaqG9copMuaV1RfE8kHLxxmn6iD8CWi1wfoAAACwACsAsgEBAisBsgIBAisBtwJANiohFAAIKwC3AU1AMiQXAAgrALIDBwcrsAAgRX1pGERLsGBSWLABG7AAWbABjgAAAHjaY2BmCmecwMDKwMDUxRTBwMDgDaEZ4xiMGBWAotysnMwszExMLEAOOwODBCMDFDi6OLkyODAoKCoxvfvPxsDA/IJxQgID42SQHOMDpilASoGBGQDuIAvXAAAAeNpjYGRgYH7xr4CBgSni/83/05gOMQBFUMAbAK0pB9MAAQAAAOwAVgAQAG0ABgABAAAAAAAKAAACAAFzAAMAAXjadYy/agJBEIe/XaMIFrHUSktBEI12gXAPksLLXUTB+8OtFnZHXiT4AL7DvoHp09iKL6AY2OweWqkfzMcMM79BAgLHgdXJFHzjiR7sJN6RBuQ16Og3kct30OUnvp5zQTu1uXKjyGojjua8NdvNzk4t+KGNbrHXr133PdRrM67krpXcUrc1/TP3EderIl69DMLjPr/NkltLHlL3/fmCwFefBEGUEsZJxCTzA+JllJFYk2RhjHJ3ahZPUKo/cHpxGjqNUMsPZZUq/gF1l1TaAAB42mNgZGBg4GEAASsGJgZ2IDZlYGSwAUJGBh8GXyCZBoSMDLkMeUCyHAgZGW4zvASqYwKznjMwAgCrEQfAAAAAeNqFlE1I1EEYxp+ZXdcParFaoyRiUVnLj6z1+yNTEQ+1fWCxRdpBKCHc9aBCUhBEEiIdJLAi6hIRdvEQUiAShhAdPElEVNRFyiSoU12s7ZnHVTMCd3h/7zvvzLz//84z/4EBkIEq3IBtbomcgD/W0deNnfAyj0QCHjrL3mrf0FLgi3f0dCEkVsS74l1oESO95y+eQ6sY5RIfzbCChxVS/tM3yYwPrfRHaKnIRDZyUIAwatAEozdo5phXMyNL3swvebtryXtiSX8dPuP8a5zF8s9485Dy+9WvUUVe+ZB3L6tt4BM2csYYbXwdvzZXi8sYwBCGcRN3acPs32cbpR+jjWMCU3jB/LDGZpSbxRt8wBwW8B0/sGgsW5rxm4DJRj9mTdCETJEJmyoTZL/f1JtmcxAz5piJstfO1Ybji472IZkrtomF4iHxuNjoiGeKw2KtWGzHyH2KK5MZxxpXGUP2LeOTespzxbWKH9g5slRzbinfbp8wfqx4h1inmfVisRgVS8RUe5XMV7xXbBCnXR1zW+/QrswBRztuJ6XRVp4AYJvMhwDPhx9BhFDk9kGnoU2sFqNijdivMzJgB1XHz145Yujh3q6qF6N+TreY2piUiynv9ItRuSnyH+UwvKQcYk47qjXhlGMl1nD6cY60SiyQZWKbmCNGHDGp+KhYKBaLreJpzRlR3CBWiCVivlgpRsWwWCvmirsT2W4nFLer2tfEdsa9ypSL1coPJkJObUe8VP6S2ChmJPzkfsWneAqX99KDNPqAzsY18qe9Q94zn3QGmlbmpVMxp1eAioV529TTlpX7Jj4Ss8RCcUS8Ip7Rl99nfH99sXW0pnX82pzFZp6ftd9PkX0vPuWowTQbFL3Dl5XosyIfrVy16lDGW+gwe51slYijm//nAluN7rZ5rnU3mpf/N4t36R6UJG8xL20Toy1cm6nVpVpXpnF3s2byrBcke+l6aoZyQeQx36n6HzH3B5gIBkF42qV8B5wkVZl4veo0sWc6Vueu7uru6pzDzHSYnHZndvLObF52YNllRfZEMCCgJ6AYYNHV+6vnAgKCpyicIrD7xwCeByenYzjjgogc6pl+Yjg92Z773nvV1d0TOP73Z+mp6q+r6n3vy9/3vleMiqkwDGtjTzMKRs20Ml2MiSkzjzDM6Ar8SdgfZRims7JHArAYwDKKyp5HmTYG/eERpuM8/NT9KKMn37rPJ1MGj85jEHUencaQQEIXMvQjwY0q6HzV9+W3oj3Xz09mlfkdN6SGfjmUZk9feA1a/Hk1jb7+8+qLN1x66Q1o8uAb3nAQUGJ4+NPDngKcdMxgDSMtRkDbgFEnBnRijM5hjOBqZQQuA4xUBKPO7kcY3VoyhcQ4EgUt6kKcoBEMGYOA3uvW8d3Kbl7n/sFv+peeOfjMCmq/uHB5b+/lhYuHn2RPXTgJc1cwlwIeHsDDwDgYP7O8LW0MGGDAmJxlfHDC6PS9jzC+xKNwH/rDWcDOxzgIDNPLTrAzwJkfzoBqmbSLNRnVGpMLmYxaNoIM6XwuG4ggk3xy6efSC0VPb9/ErG9wX+GJjy9OTk/tXl3av3d5lT2lD5QjqZkuZfuukeRE0oLe2FfIJ75b/Zf+4XLvnxmgzND6H9gw+/eMh+mtzUGFUVY1zMGJAU48B/gRcOsgWDrhzEyxzFbYTNrMaeJI8GoBXxd8zRc4LXyNs0ORXa8ZKO11JmwD4cR03unMTydiY3xSPNJfOT4dRRMz160kknzO7vGPHilXVscCASETS8eXr8f8XoI/fqBzG9Cud1sqt2FAG8WwLndt3Zj0Eh3NlH4FiWy6pTs+8BFx6uTk3R85ecUVJyfYU/d9dNc1S7GRd1177Q0XgDRAmythbD2M3c5MbztyOwa010dWEK5qAEQ5rQFOKwk27fBrC8XGY5L/XYk+UP0i6qr+Du2sXsSeGvv6+G/G8djvgLEtRM6Htx27FQNaN4/dumHs+og64R3oturjqLP6+wUY7Nmx6g9hrBzIgAlkQKzPc5MMCBgg1GVAS+YkwJmFjOqEH1VkVCeM6mqQCxe7UTByQi6jo8KRi0yfGPDkY4I2Yakk4zvzTntmKimUDG9f4y8eqBybCoN8XL+c0HKOrpzNW5MQk/6To9Vf8VEsJIiZAVq1Ej5Nvgo+nQX61LjTmsCGC8+EAYugXMNcArqtYYkBW5XRCfBXmFlE+sXF6m8W2VPVXyPDhZMoV/0ajHsIGPUXMq5siZR4GOWW42J88EhKiVOPMOo1Om4rjFeAsXIek6DLmDyH7roLffiuu6pHx1nF2NiFC+Mw1tz6H9Cv2dtAnnNMM/vrY3VjQDcdi47QCmNpCC8KLgSkz+k8OY8OFEHwBsR3OCcC44Mwo6PmzEK557j3/dHwzjn0urHqYHyuJGR7sRweAdoOwxw7mBPb0vYVJi0BWjCghVJfARhh6mM+aGp86KbUUMCxjVI/gzIag6DQmIQjiwpkPPiNnx34wuswBx5Gk/9VvQwt3biG8bsJ8HMCfiomsi1+kjATurCSPdCBNtw0j0arx8GkPzxO9H0OnqWBZzlfQd/rtvActjIwbexZGAl/J+Em1UYz9X1kNgYuUzBgaQKNKID3E8AHuhQmnTC3/4BHye/fD5xWsIrI3tjeqAIplewYTPQXl12GOBC2vzGCyhjfc+HCe4y5Qt5YvRXjugC4qoj/2VPDFWHU0DYyD/Nm2oHWNWuEANOWtbPA13YGER6gbuwyqaV6hNHX8I6jHNYDhSiAC9IJC0v/NsSyrTPSAdA8clPqRBYtAqJnbspcmql+gsF2Owk2JQg2xQBWRZZYyUzXMZTISzhjlG02tR4qbB4kC4Jtt5iuwPc4W7MkKNqzf9jvH97fUziAjwcK/krEYolU/ODz4FjuSO65fmbm2uV4YvnaXTPX70lOBsZXK+UjI37/CDYj4wHA86jkx7UMx4xvy3UpwCCU7IATKrUdiUZOd8AZ1+i1sbvRCTU/rTv6VH5vvyAM7MlfvfCF5YWlpRPsKWNsRz47lbZWX0YTg2PjhepfMe1S6wfYEPtRoF2W2VnDyYdR8DXgZMMAG5XEFHCXI5Jok2McH5x1kTMb8DOO+Unsb52KCNvggBhXNJJZQwxF4SYuUg74yxEOjpigHLqr22devtyamC64fENA9P1DPmd2Z0y3I9NlbUU7yxePi+L4xeXy6qjfP7p64afqlpXhlsLy1ePAgkRi+bpdY69f7mkNR9RKPMeL4U8I6N4C/mPhVcRxZ0FOOxktoXt7omZLtZJPpRFdq2S/OSK7Et2RQgC9q8VRhocvn56bm74cGc5ctfB0erHsnR2+F+3pHxjMXvgsMlV/yZ4yRMcy0/t11eeJTRgGObaCHGfqvsWMkTI3YJnEgGTd7p6FmDnJmAmu5m5sLjCMh3uSAJNtMXAhgWrEl6InNZZsNwLbIBnpq/xH8mNTej5iPWhNh2x870yicswX5adTpTGTJ2za78qJHF/anZ94U+xWf6yYtApWY3uozREs+PwDCVvMl3d6MjGLx6pvDXa4QwWfOJJxZmN4bmHgQRx4oIHZNYfy9blpMEBDTTnbje0LprYKx87UXwmI/T6r/P4iuwNc1ecJzWaAZtgfW+vP3aRRRgwwUpppZA/cSW1/TU7B8BAygCGYWTT50y5XOmCa8/TNJZPzRdDa6tHMeMRojIxn0Ierx8aP9Dsc/UeoLY/A3GKAQ9cr4NCFAV0UB5WMQwe1fC7EZSoKsNoKIbJymc6hV7Z2d3W1HF9agzCteqZ4cZ8zl8070RGcECCwagy7C/yzp+47NtljHgN4qrEOcg/WWB6oqiajd61Ru2xcw9CaHFNMUD/KcPSM4KSgiYtGIbQt5NhWhaLd1DZaHG01tSsVLYr0zEX7d2o6VAp1R8vEXva26sXhmVBoNvTSS8E5fER/f+EKZHCWnPB/9dcY/zzg7yU8O7CtLFgwwEK1kYETlnhxtXSG5QP0D3xKpwyxdONZnQVGUwjMR1GbBkxIYRDkBEz4r4f37++0dCu1po69Kw9/Zf+q1q5Tam2dR1bQAirfx0Wczgh3X/WL1QcftGRcrozlQYx3APBOEz4P/E9+cGtzrsGhLEHN34SaCQT7/MqqwWdUGgOGQ7vPL/4H+vgTgZ3B4FTg8ere/4ARBmFsO/C8tZ4bK/CTFQ1D1SOfGpcZEuc0alIBQVRmQhCRDKIrqg+ih6qn0FXVQJq1jqUv/Hyc+FOI/1gFegnkK8G8lWlOLjVbZmoEwGEAR2eqgks5whZVgiaZbXIiJxIT1QkQkTDVCjcZyLVW+DVMUYWzCA0mcRgTV4C50ogVBc6tdALmItbUQi3I1yrmxKWbDiKtKyUkV7y8PlWo8BdfNKxRhFaz3lLMNqt3iqbwXHjX8X7bdaFy1NFijXqMflNPh9XYefm+6neH+LhByIgmp6HVL7xVbXaLDKHFAaCFg30S7KnIvL1GCzWeqbqBFpK6d20RHjcbcikqVTPdZOpGuEZNpm6UPDrc2o1dLYnZu7EXxmcKiWxYR02aCqo5UGy1BY1AjHzN16o1B+ZZYTmSmsrYfOXZiDAHke3QvDBu4/NBc7cn6+MnA+yTjx/0BoXBfT2VIyOC4M6/zm2zpyZiwaGETQiAvMzCvO1EBjbm6ppXnasXXjFXn43sWC2Ull0h12AgPJZy2FOj4dhOty+4mu+9aCL4UvnQkDfszNlc9vRoODySsgu2nC/oHTxE+FKCHOWvhC++Ol82YSgFgXW+6DFA38CXDgzooHxpgXv1hC9auIZmmHqZG9j/O8hZi+Rn6az5prmKkG42yKc5ky7k6PRLfmBGbMSrmB/RKFwLseR0j2tp58jEoKef5wshy0vFQ0M+r3PvuQs9A+6Yd/BgZeXI5EuYLSMw31EcGwA/XCAHw9vOtzFOE7FdkuM0g4yvtwFfGqh4XIoGvvizAYyuZjQ8uieRne91IbZ6A3KmhoORca/Tt7+YPzQeQu+cGnEVoi7VS6VDQ4KntJjptLaKlajFYspzXmHw4MWTu4xij4/4R1y/GmK/A7zazTS75E0Ko9mCMVQ5FJJy4JSZKglNIHAKh0g440QZHCNAblsAb5lJc2zCleGHep9+eu7d7z50ycQI+2Zt63ApOlw9gO6qqEJ7XuNgSH1tYp1n80BbHTPKLDH/WMPRjzHwN6AUxIBgA0DEALEBMIwBw4xqy1kMy7Po6KYO2LRGQ/k+Ak2ff5QZI7YxB8c0Eb8cXOmAq4JwVYhcJco20g9nuwgzOSxnWP8hBgWLAK46m8dil6sdMK85oA6t7GGrAcGfuYhopQq+G2iMSNXUfOvcrvBI0lroOWTydwv28ZBodLkcVsGdHRWD/FN/q3M4M6OiIWIM5JKXH9wXGLu4cuKqHyUG9a4Qx4Vc+qG5QFLn8BkEi0JlCDmdPZyyPeDmUgaloT8aHIhZO/r1WV6sRLjWVgvvtGcr3krcMYZOVHLWsEunc4WtuQpDZOcAyE470fNLmO2M7SZzXDe2W2Sn2Pq2E+Kq5awF21djk33FbkYnaYJOODCvFFd6l+fmsyWz3xcwzYP9vDKUX72o+i0kjA63mz3m6v3ELu0FpM+wT4FW6pjiBow1W1SxaVanlCNC9Xlc0SY1bJBkvzdARBnYpN6LsvPPI9bp9zsdgQB6sWpDd93rdToFwen0krEL6yIZ2wRWe3DbsaUoW4WjBK00bi0jxhiYAQMHxUCSlZp72YSPMbGrGJhw2m29Dl/S0d6EnTa2s+AyaMudWr035UYPNaIKfL0MEK4AXzuYyzfUs17BqzZq06ZaDwuXdki1HoZpaar1sFIA0lDtETUm4bJ5JVIffPz8/s9eCRytuhDz5eqPfn/FDbQGBrnYk2CSctvKXWO9TSVTsrs2DjH+xKgGgHRzf85Eg1mTpy+4a+7j7JMX/i2f4CodupVl9DymRwnoEQUbxDN3bRtlSONtIpBmi6h/Uxi9KTA5S1c45Gi6ZY3WjQ2yjzPLUQhdK2Dleokhg0NXsCl1VcGBR/1YGtAo9KnwDr05G8oUZnK2gGGoYPMZZtCLA97wYiA+PVm9Gy3t9geqd0iHBn0HOjTo+3bR1qvUdxbuNW/Qd7ZB3+lMNuj7iEYZaFJ49OLClvpewvEh4NtUe9rklxuzP6vsiYUNnpimn4UNlZOSOLScTC4PibXjkjnUKwi9IXPtSEIl79ChcunQoBcCpBKOliBsCIdH03aInmgcmyF4msGjvX1DVbeOp5RSaLZYUmq2XCoa5LeSwP0sPNXAtMo1CE5eWbLJlWGvPGu62sTh8jMlfT2UrRcrsBR9BgdK3j2x1E4SyEa9Mx5WGLMOLUoxbOhu9rMVPgxBbG/lohHB4+p3247ukyJYypsM+iuZ8yvFiJu0alOMKFWGVM0xYtcWMWLXq4oRM6QAX9g2RhwjAbuSn9smRuTzF6Y/u+KONMeIiHkfTBrHiHpmcVvrv0mZdBigq6mKTjIIajm+YhtMmqQqUvkI9OR9wKHAFSP2OGewCc7CJVHQkyuLI63t460t/VPVn1KdngAd0QJesXpda1M2GcaAcHNdKyylhTVJOsu44Z5wU12rXlJsyDPMXD3QORk6ODQ0MLonMJx22TLT6cIxX5DfFfPGHR3zQ6uHHIW57MSbYle7fFHeETW32oSwzZnxm/zWHOdoN9i0LlFnHehxZYNczA1zwXG4l30tWERce8HJ7daK02iS6hm4QgpfkWRvzZJFAuIKuX6IXyFG25Am5b5+83vaR3772w5HUhB6bHrPbDA3ETHgCPad7xz+mSfl1XW0lTp0ztyOGIwyDXnRX9CLYN0u2VAJ36TUm4RCsUWtnNpPwxb2U0/w9kjJToAU0MwYcXCwfxnWKP3LvStzC5lyeCQ0vxQB24ni1WdGhyMJNAd4ZvBaK+DZCZ5vO1ndhHi9REsdbkPJihSqMgsnu+ydyk5r18mZp/ZDEPIr/7ggjPuRsQryA7rLsLMwpod5/asfU8pU6gAPBni2qXuo4WEeiVi0HIVzDI6Wo7Ypr9XLUi2LRU2HSqnRthTHSi3aFqWmXV3cddlqn6ajRanuaO05AnP6mQDGftj78sv4OCQga9X2J2HUz4+E/whzHIA5cjBHa53/Uo3qFSyeFQOsDVOq+6uzOB5grJIe0oqSgVRP6dplQWwoZGm4hsn85ZP7pjudXUqto3Ny+f6ze5e6PN3KLlfX7MrL/3HCGDYao8bjv/vjSVPcZI5wpK6ZWk+wIuDuYPYxzQHeJuO8CXfVllVkq7xSrcVPIWzgiOXoR4pG0dEqBK9YWGzj2jMD+q6fLrxB6+5Sdto7Ltv1Xa0vPRjyOXQ3KZTFmA/9rPp7focgTHpQ54WXfJWYrW0Q4z4OdDcC7pvrc5r/ZX1uHE1Xv4/OVP8RrVQzUfSG4Wj15mGGWV+nfSmKNBsgMa+aOY/N7BbwZ7eBP9cEz8jw55vgMRn+703wEzL8ZwypkcEvDDvDnsJxFnN02/WV+uw3RfPnGEYqUZ8j4maUW2iQ7Ew18lIiaabRESFTmTw5QSMAuQRiOlFZYYwY4+iD1d+cmVxGSjT82Pvfj1g0lT+ef8O58S9+kT019q/jvwWMh9YjuBcF5qIkc/lFgs6R9GEQWqkpbd1bw5/dBv5cEzwmw/9dgpN1fHJ9WxPvNsKf3Qb+XBM8JsNrPCJrtYSnXZSnagona6TkOd1N426EP7sN/LkmeEaGP98Ej8lwgg9If2z9eTbKfhqwNDEJ5tqadEQw7yMN0uHCABe1OCY4iRCLY5IsjkvW4zb5tzayAgCPkjtEMMQs9Tnwa/RuQVqni61JMQMOrBOoFilwqBYpiBqxIJdKCtyXTAUer/Fa3aYeD17ktaMppwuv/O4dyCX7nW68GLy/P594vc2Jl3r3DPTYnHit99AAujFy5QReAy7P8AdiV0/iZWE4pfVkD9GV28CE2ZmZbSv5jT1lLXJPmUJevensxgYcn+H5Yldjwes3kJrXNCFj8tDgsgiq4lV73nstsj1++vTT1R9ArOzbvbjbZNq9iHaeuW/sG+O/GY8tXbPrupvZlrcTXpI1NcJ7c5OsbIQ/uw38uSZ4TIbXZJSso5DrbU3PofCYDKcyxGKJYiOkL8RaX799hUaQc1hW4E5Ms3Y5kFXKuS2OwkySnJB1LwjGdbSoUW/aIlTct3Pnnac/8pHbpMatW29Fg2EV4u/76Ec/TZq3zicuAH6XSOv63YBf76tYATwHYTatzVJM8Wo6qTzV1/JNgtw8dsni1fJi/uIXpcX81xrjk/nsdNrywR8OjI/nqy9j+pF1G/abQD8Hod+PtJSuG+HPbAP/cRP8ARn+kyb4WRn+QhP8ezL8RS3VfR3AlyDujzMFZoS5h2kW7leIRwMYEGhwFVEMiFLaJYBidqAYruR1MlFiCxQJqhNqYiO64d5OAg8AzE1gIRmGs4kskYMonBXl+t+QlKPlCzS7EWmuU8tQcZkcyXE5LrLCXz9NVbsQjXzjKIG0SPeWtyAxYRvk3K7ZWLKotYwm/QW/nmWrVUWp6EiYnNbBQG7CEpoJlMbQeovRY0n0qn4X9NoqthYNQvtn3ja5bMiPWrt7jHxPOJGB5DemtXVOHdB35nW2ZCQW3/k9d0/EOj95mxj0Ceac09rdB3yYBZ9mRy8BH1yEDz8PU/6QtQPCZ57KRdfW8Ge2gf+4CX5Whr8gwXHN86Pk+qP0+ck6/BsN8Gca4M81wH/cAH+JPJ/CX0jS/BHDb4HYSgW8/3+pqNaqqLRySgqmZBxaU8byHaLyrafjk1oOwStM58FsDX9mG/iPm+APyPCfNMHPyvAXJB9ZWv8F60AXwLeZmWTdR0pCX5+jGwPc1Eea4SQqVVyoj3R3044z7COjjLvJR0abfCQn2T7PGr3bJ/lI3LdTqK0k1H2keVsn+VSoD9eftJ0uQ9pJz1DOzuNC1UJ/xt9wuj/gSI2GPX1cQG90pMfCnh4O8fyeAq5YJYvOCr+Sx0UsOAV6tAOdFklNrQh2471Mc6S/iR51QBoD0g12o4ABBWo3SiBJIvEJBblvySpltDhNS0tZTlpaesbLMDUYpu0gtQ8bqnMaqfZQNxNCk5lQ0yU1WtFa6bQFbGa/Tau1+c1w2jltTw74E6NG42DSmxP0iP2dsi9vE41OrigkJ8yRA4GBhJ1Vtehd5lhS/fvwaMqB6RgewXW9kXAZqFfuKVR8pbmYluueOqDTgoHoLZz0Dh46jC3EwgTWnxWgZ5b9DvimvRuqYPVadi8G9DaQzo4BdpqseAk5uuAGL13Tl0zoWcYPl2RpdttQxjQZXcpNNT0lFpscLrGqTTphxZHdkQiWwyaH1+GK5qIuLlLyh8d4jyPrDMdcsWzMBb9Ew4X+eVYTn8o7LaGcK5CLhmwW3m7z5UQ+H+Qspj6jIeF2BpxWT0zwpmIJ3p/aubOqovpGaiFEP5NUn1/eGv7MNvAfN8HPyvAXJDjJV8n1WfocZSP8rAx/QcnItWIL+0NIb3rrHa5ZTOdsAycauz7xGm47kVm8qs4QkofhaidhQ1jqSMMRcw1mIrEuPRbgmASd9mN5LeH9B7VleENNoWttj2YO8nai3JhhoNooGiyKBiTMi8FyyGSLlq4ZmvVUVgqJ3UOit7yQTiw6tOX4B7kbbCVvILjD+w6ux5mbiLab2xMBS7ToxSEzGy5/8k2l1XGRLy/nMwtFPhwYvSQ4HRoBs5w1hG2joVqPRUbqsWioTUsGvWtj/ljXdqmuodqicItr0y1SndYEoBaJNrXadL1i27JVbRp3Rm/osuByteQhQGvT86ywG/dY2HHJ1jflQcKojS8EucFJfiLwr4oPPLVM+itIadrr3P8R2l8xu0pq0womDLIwyP49RDB2Zpw5VZt1Bk8h0xA1bqo2OTDAQQEeyZDhsrSHyZDp6uB2WoHSgQhE1qgDyHTXFh5aAOpaw7/Wgh8XQEYBUoGPA87H12pmDkc0EOgYwAVUFHTmiEY+VG5kX2CWujnBDBYyWqQxc282euM2d58tueTlw2PdWpPf2W33CAF02eCEb7knOpFxGoWoxcSZ/DlPecgaTNv4hZgjpJ3SZ32l3GfsMV7nsIQvzjvKKGbvc3W5PX6zM5K/8JSxIATtyeEgn4+J+tCM4OkJWyb6+GwiZMwcFIOHegevzsZ1mMbjQGMd+y7QIDto0s4N60ntW1Q7aY2zo2lVFPsGI1lZxMR/hPGex/3C9XVQBXWS0sKFouEXFD3x5jefwB9PT8i8NDy8ZA71eKx+vxU+Hfffced99915x/3somtwdfTmv/3bm0dXB13VxwTeLQhuXqCxD+6J72avA5zKG+q57VvuiVLIdSXs6VVrtZ58v8mDO1NymEE6trs6/9A7M1Ou8sjICPpuroXrvvBVOh5eLGoDmrnrXSZS4tK+Ra5eW+1g1rDGdTEuQqUuefdJoSY2NJqWun4rqIhMnsm5a5eiI+OxaXcisjqSnM47I7teM+gsO79V7U9NvP6ixWBhLMYnojl7aiwc23fR8SKrpP2WvcBXNeCYqWeDktFsf4U+2U74PUnw60zUoqFar9JZnB2Qjt+GKgH47Fxd48W6hzfVW2ZX+T0VYC5n7Vnp751Jc+PF2CwfDR6txKZ7+akS3xu1+voXkwsnhRtccZ0rYnckvPp+PR+1JvI+Z1aImUMlsW+HUamxh/Ke8EjCWhCITRRJTnkdZP7Gete9tFbTvmWdQCvnvLqmjgLcqayV4kC8Ht4tRX8G7BmwPNBKmmAScp4cwsvjJxHLqrq83fej21d3VR9G/SurL33VVrZxCe6HQw88UEB/V3095kMP8KENcAwyS0yzCW7fYi/POWyApI4kQTZcZvhRL8exujVqm43SPhJFg8kV8caiJqscZ8WLun2RHO8tRq1LE8Eeb9SEjlef0zly/vhs0SsOLcUjo4WY/m1au7HDFMh7hnYYDQ6UGX+sQ2tJ7cxmZwvOLotbB/QGH8+aQaY6QWjkHXYxjHxsm9nguoxVng0jzyYmr4PSCk2sG/OM6GB9Mi5koN54w4Rq3hgNOtI+09hQYDHUuvQT65AvMJbzoMChZHQy5xT6piPZPUP+6I6LssVlPmf0Z/ihUTFx4DB6lrM7Bo5PB2LW1I5UfGfeFZi+cvrwO5ZE0Un1ewzXqYFnDb3KUsF8a3uokWNlvHMIdynj+rRWoRGeV9rS04XqKfT1/vm0WbF73wduum54PDNxw83/5yDNa0aApgZCUxszUKdqCD8+1DBeCQNKjfYrJNVqcCe+Qlp9agfbmwL5SMFRe55mLPx57Kpqthc8UyEvRZjgv3BoXm9/2qC6cfbW5R0TU+78ZDhR+ebsUH9+yBYv/9kSSNmCvRDJRBKTGXtv0Bb3Gtx9S4X8csnzyfxIJe2J8VatbfBtfWPJwZ6EM8Rbv+LJht0dSutkxl+KWKyxfn9sxqHsdAUyXl8lbrMl8JIM6e3v2ChfkjjVKSEJnFwSt5I6hxlAgixVCnk3nHqDfKE0rV0Qf6ShZqxQ99aN4Qyy+hfDbQvjzpTPNLrHMuQPjOZ4VjyQik5mnd7idDi7d8gf23EYyxfKi/GDh43+rHto9GucwzF4bDoQ3ShfAUm+fgSx8rXMR4FvFmaLrYOK86TEQv0jIPKjhNebwJ+JQCIRCMTj+Bn/tB5B72E+gu0Ig/fAqBlFBKIyMFV0pbF2v+afKhVW1ari40k+FjuwcKdjpoSQP+AXR4srb3KTWJzgwypY3L3LoKPwLFrjJGM0wW8gMssDn3oYHDNwwJmxreZAACYMMDUAGgM1bGYV52mPn32tecbbnfMhpzMYdDpDX4WTEP78c5CeBPu9oZDXEw57NhyxXP0U5ncVe4b0m8W27Uqv1x4BOUBMdR7vR85oFIKmAQWkZmfZtp5YxOWK4A87cPBg9b6PC6GQ4MOj0fEm0FWQm+PxHBsiBE3t8UocInFCwZApkAdTjqH55sfvPXgQrdzrC4V8Ap3L5TCXH7P/AH46BFlOc4+lXDalGxlEXL7AG7+xPAUqyk1RhpJrnNlLar0QFW2FQmDQnvLu7yMNMmLMb1IdrWHzc19PPCiGbeGC2x4T4uZQr8+TiQSjGb6BACxzzXoJ/QrmjyPK8OZOUboFXEdw9AOObsDRDjj6zVolDRJrHWHZilJsos6lFMcejGPSc6Bv8RLA0GdUXhqlGEarBMOINZx3YQwXJwh+aU+dhDD0H9FhtMp+BviDdYeFOADrjkHMdCHhP9nXstYedvC1r/0J0YG3w7XfZT8Deep7bsF56nuupDr8TXQQvYXF5MbPwE/Cz0AQ19cpiltL0VsSOUWH1i2GeTEzNcK+2z6TVQd5Idzfu/MNUvz6A3jWDZueZQBdVjep8g+S+FE8PCqYnhpGt9hmcmqRFyIDvTuvFvB6Fzznt+w5wPUWgustV9Jc+1KA/yeB30rgt9bg6270n8xbQL9vXb/lwpfBv93KXAlHYl+YLLoRfQXnAAztb8A4FXIFTsNp/ulD4vXXi9+ZvUO45+NSr+K34fr3N1yvItf7xQJn0oho/nrxQx8SX75HuGP2Dq+0BpdFf0ZfAZzeT3B6v4TTRUyWVRP4aQI/LcGXUIRVoOOsmnlq83fci898n21BPKl3n8NLopivEbrTehY9Up1APKnzGOG6kW2uM7LJC2v4OmwTkQZdix5gNcT2GcgYf8dcib6MPgReF88RrymSOW5wHSjqyocsllDeJR2vNIl5jycvmmpH0su4/nrWsX5OwoMhmGA88Got66jyo+M0jl9bn0XPsuchcsVjqqUxVbRvGdQElx416MFjb3rTsdglhw5dEntg7oXbbnthLrz05PXXP7kUxs94MzzjnfCMTvIMDQ6Gqa/ArUEFXOZQa95MbsaPuUm6kz4H3//8+jH0J/YrcCcHuEKkA3jgdZkm6pGd0s8j47e/Xf0V+5XkBWWS4L8K975BvhdDVOReZX3GeKO1DsLq3LeQsfqrY+zLyZfvTuIr3yiN28tE4N4MQLLkXhwj28hZu2TszoKlaSMdy/C8bHNignkDuZTk8uWXN5Dwh8DjLGIUCkUHJCLRXr6j1RwfS5SzgZS9TS1ms6K6zZ4KZMuJsbjZYE/F49Yuu1mb1ZrtXckDWTHj6ky2mQRLZF8ilWlVtmZSmcW4RTC1JTtdGWn+z8lzwLMqEMxt0poWrV8FyRw64CjS/osa6rUWdTyhCMpJIRppfzJJdSq6GJb7YCDlaFMHstmAus2RCmTKidG4ubU2KZifOT6aKB/DuMYXMxKuiX2RGq5i9kBSnpk1Hk/ZydwoDw+jP7JfBVm1bFl5Oo/LQShz/w40seMOBV6XQEizrkZz7G9wpRpkDssJsY+QXiPNjh3sb162MMw2z27sIWZxk3UGCav42exXX/4w+JeGZ2tAF88SmVJE6E722iicTtDhkfBY1dx0NYnWyHiLzBWsko2CPuF1Em0C362VehSRnBPW+s/apLwQ70HsR2DMChmOWEBR867XfKz73tZk673dH3tN+I1vfO89Y/HCY48V4mP3uG6/ncYB+9a/hC6wnwKvP87MMHRVLkh4jjsRDYTnaYDU+kNHmAQ54wFKu3H5blo3KMGvdLNDiXTFgdXB2kvCeVKrrO1VVWL5rjf2NRaW8/VKFIeu5IVQZZJ3+0P9k4u2HiEcCPdP9odTIW2XJVz0FfbzaVs5HIqFKzsq4UxQqzMEegLpOdeXtAGvN+px6rtDbk/E40AnjDa/ze4D91uOJ0vmbtHmgqQs4IlZHEGnI+Byhsvx2IAJ4LaEz+TlMF0m1h9A/86eAn51Q0TwP6wFA4ByVFGL0YsInZ6by/M5CL99/bvTEfbUBR6lrbn53uJcxkzzKtf6H9k+9r2k53h003s02l9F1zGuEddWQa1A9cE1ugmluYy/VTcyt2EHsbmhVdEVmlzt7V2dDNWOcb64kE4vFPnaccweL3qElNHb7TbGe3IxW0Dn4rIBnL+j4alrluLxpWumpq/Be7ivmR46MR0OT58YGrpsKhSaumwoMpa22Y2iVrezODRt1IaNdntmkgGpPon60c/Zp6Qe7ApTBnk0StUQGpC5yFkeztIkNMMlz9AaXut5hEms4Q1GjzBZnFvi1qL/4V0ACili4QRRqC/Tm1BUHM048b4YcQRvGR0R3QWR48SCG69UcMF8aIpPmHTxOESTw0aLgXOgfmd2IhqdyDprRz8H8ikU8RsFioKvGOZQi9Ond6sXxsaO6nRd+mHab/VX9Fp2hL0b5mtn5hi86+scrmJBOlLzPrTKUlsZNEu7INAa3Z9vWKNVoXqts0taMcBdJCjjRpl+RFqUBQ1MkjOBfObI3irkG4/ZlbboeEGjHA9PKDX5pw6/fLjE3v262dnXVf/l5uPnzh2/GTH5/Dp9t8BJ1steA3JWZvqBJy7AzE9wTEhNXueYHtnjFom1wnYDR2QJaV9CTS798qY64jga+NHYK1tjm4o2VWsR601rlOZx0Z4QjO98q87XK8bm+/2+ymIqNux0iPPp4mWzidjsiQp+M8I6E/H39BxbubjPEdZ7U67pXd1a30DSEV64dmH22t0xzhyzOzKrpw8fPnU45RtYzjwgBAeu0xbwXJfJ+zzeBRxxM+/e0L3YvrHlrX2LVbZNzaTnyHs0EKGNWootaK8PsdxrWJulUv4a3cHhxtUzybpbyfYyiGqBc+ST0ZCPSSAfAbPWAH8+PrPbsLTPkuNugM/csmH3AUveeqMl/wPDjfqne0/3PQz/9Z3uffrpp5Hq9Gkar66hR9BF7C8gfvwcuJ1HCOzTALuX/SPAHgIPSWGfQp9CdxPY5+l1MKM7Icd7GJVJfh1kNhWc6FT10otOqHg2l9vFtFziMaNoedeuMv7w8TgPn46VmV2Li7tmVtK9pVIuVyqR98rgl7dchFLACRezqRmRBn0MCdf8Un1cQN55T8iU7n8xrOruqH4DLrgfnvFxwNvCRJktWNUpiTFAu3FdgBbFcQEcNaamdJ0EGPDwrgW30xjQilzRl68YPFHrO3/rK+7y2HnO4LFBeGcUxZA5R+OITwHN7oaxffVe6Xq1gap+FxGTVtLkjLHwyA1zdoC0NrXMw9PzG5AibhUnZOLTXZAZC4fDos2pD3a5DGUhUezhxbGMMGyd01vN1kzAwRk5Q1fAaI0GC8aWgDuWdNgIbz8FyD4KdFaB7+vZXDk5h/cRSMrOykaqWzJSaul1PP4cfmkNh8vRYIAypgzapVTE8v+a7v3Y6fH063vmBycjk5Pupx6jsngv8zI6y+6CXOks+X4LfP8X8v0cwUn6HfyfQHqz9GArnXJ82ikjhPuwPMT6GADKyZ1CvOQVm7uCnKjW9k6rj9jU3Hv0cuQSnVmz1TYR7C9nVayll4+U+r1WLsLNDaM9uZ52V9TUGemyT/Q/4TfY0gkLZzLMt/oxnhLeMLqbZBOczFQsnk6aiWzyzbTyiVl5iy3Sy+PlBmsUHyO2oVQkksIfdE+wH79apT9YO+YGBnLZwUFCn8+g+9E/sPfL47bJ+YdRVovNHrFRBa0xwWgUYlZr3GsyeeNWbziMi1Pofr0n4XQlvHq9N+FyJjx6cH3+eNwvxPG4fcwC62IHgb5ZMm5AmuU5rPJMkozbj2gqCLFpnvSbUDHFISqmvajZGJz0LeoMet1CdDnZX0ktR+GbQbcYXeF6XfB11sBjx8obase3LnF9glDkdsf2+v17Y7u5oiD0cUuxPQZDYM+fXCmfweBLuaQj1sOl9fexDPsrJkXe3mNO4BadR5jI+VqFHPtZ7jxejOWkHlX8dg1O2jV3FuQrIklWROq2QeTFBrV2CQ3IPF2AbwhswfG6EIee0Lm9QWummBifH09YE4NiqediQQzs6y1B9rYwltgzWSrscKFfd5q6WmIBBwSt4VKcL4Tsyvfdpoo6e+2hVMAd4l2h3mj/bMsNb1eFncS2TAMzcI0+VK9KS+147RsX2uVVD9qRgLprb8ZRrDXu9mqXum9bSPctXXnEVlAEda5H6XL8iLcl08yVNVSL/eWWq1bbTa7CdLKy5ExyxfDQqKH9sfvV/sD4eNpxqNfmzCr5Mh8eSdoifIJzDWb5It9jd+bG3Eo8HzCZrMBeB7L0mg3epX3ju+zat3xxokreyqYii2a1pULsUC2kplt75Z9Japty4BbShrd5ZKQWXGzAMvijeNd+nceg1Hv1++fPfgwc6vxDDz1056PsdZ/0DAvCsOeT1S8lBpNnziQHE2gA5tC3/gc2DzxJ1ffGSuXm9o079QjKQcYLuSHdJB6R3/YWlNb+vNJmc6/UC0ljBJO8Uw33PsZpjEVbloBPgWyuhCBsKDTt9/KYPGqjyYE4j0lqcmLzgf2VI+8wDEDeUhwwvPeyzIorZSsGduzVokD13xBCigvaldHIoGsumnrb1RFlq761pbslqrr6xpgnYfMcWU5ptC1thtbk0mGfgO3C36z/GP0X5DZqiBT3M827WNuxAHrlnQI2yWRjb0d9CJOg08XTVyfoEjjeqNKZoK8JtUnNb1yClDNB+ty4qonVjmwik5QNpivqIBBAfT0D/b1fck2ImdiOnNOd3xHORAe4oDFm47Mm9EznytDwSmerzau49JjKV17MZRdKPvVll7Jec1ZvZqv3sXY9npOD4dkSe5Lk8LRKpSC5fD8MhTRiwfGw5170W/gz/X9dX2MF+EN9mwPkoMy+ixWZz65fg6bBRj6Bex6Zz+I30eHf4eH97HXw++eafn+44ffSFr8/hN/4CL/jNeYl8vzP1363yvdje8ccYxVsFHB2MvVolMaaainObKVvZ8rk6N41AbV//vND8D+KVJ54ovIEfQ6tZ25Zl1xCn67Oo+MVfN1R5jr0EgtSDtaI7i7FlY82OKrkbkYkdTbgKoZSrlzQssXRD384Wvv/k7efid1+e+zM7bE77sA58xJzGOaSIXGnHWSrXmmjGTBznu69xyLSBUcTXiFp7PJoWE0QAW8U5dxuDj7T5C987iQzedJl4VwuzuKqfp0eXb+skJou82WgwXfYAPMUc4LBld0PEtq8kUmiX7PHgOpFqYamkd/yx+K4PkE3wZwl+1Q09F2bpLMDJ/x0DRAo6Tep4J//jeiq6rdRrPpudOLCzNeUX5u5gJ94AsZ4Th5DI/cJbDVG7S2Jm8dAqpwf/qnQc/D4GAxzFYrVBqHvTqWy0sWMMJvefdTYko/b75Xn6bH2WsqWNbrfh6aj7eebhQpbnppgfZ6QOVn5whcqDw5WCMWuQA70C/YMyElgq4oLex4LEyO9JooIbMYgkDcDC6hl4kMTQyllamiCPVO97oEbb3yAxtxTzDrbgT4AUiIyFHkzMTo6OcRWSMZFR7ItsqaBAySy6Crlo9hoTtkmAq5ESDR1mEz61lztGxfSIfNYwcbbNAavzTKWhzNvlqnrHeiLStYXpaQvuJwMGjNUPY2OV9efIPs9R9k4ehF8wJUMfkPJdv3Rm/b81ZuJt3hVgFvuz3DATbSX2CG/xMki7/6U3nIAM9ZliD3N9KECR3SEhseiA4FBFaYXsr2GQEA0LrCK7nalRtNhcAZ8KgU/lxCKRpZlF9CL1WeGR1stEQGVVr+xYuxmKy25vp6ciQ8UsxkXsVfSWhLE9reS74+yZXQ5+02WdGrD91/C99vJ92fI9zPsMMT+D7CkAxu+f5CdQo+zZ1nSeQ3fH2T3QM76Pvj+U/L9mfUIuppRwPefqzEfpOfLdV5qtQ0ZTnh0795+9punAfYJ9nF0SJHe4ppPHFwZVaRPAkzCS7qGldY5kFDIoHD/3r1s+TTl+1/gWZ+Rn9V0XWV05SD7+El63X3wvAfgeRqQzrp84B0udNlZTUQc16c0Amodu6h/WDmM0V1dpfffDeN8Dsah97NybUElKSZ5J22BPuDuw7OHh+F+GPzkyAi9X6IreScWjQi10oY9CKXO1zoUavVlU6Nu4O5Aqhka4YwqEtS7rJYOd2ui4ZQdTpZ1Rl0+UdGZdAU83kfYf0aPKTI4qmaoBtbtl+p83YDU30FllOp4WAGF2th5PDg6ZuTtNq3WrIyror6Gc/afu43dNluiDAe7NV6BUST52Oy3wCg9+Kc/se/rpbVwSa6Ib3FKVlwtY9ghJbfkLacNHiXTcP40+AkLuJFPYFcC5+wUz3F84wePcw/7NfRZRUweR91EiVczznfNdrvZ5HD8HXxMcM5+jRzM0lc44nG+wbrQzez3yDgc6cBgSHyJX1ukJ36y2Tc254OhbDaEP0aHwwgf1pUJh9PpcDjjd9msLpfV5qJjnEM3K078f4wRzOWCBofDgMc4lwgFk8lgKOGzWzmHg7PaMQ++B/qMoy4dUKu2TkOjF1wxaz9feyeMPyMtK+DsHq8bImvOahEswZyjJZjyuBS5Ft5t5s2dipCKMxpNWOK/Bc8+8b96tiHf8Gz3Vs9m1nvYFQVPVsvxRjfaNqPz4H8oiqIX7oO/f3jZwvw3RlW+AwAAeNpt080rRFEYx/FrNsSGspTYzNRImeS1Sd4GCxNichtpMpgp0tBsxFKxs7BgoZQilJcs/QHW3haSbFhaW8hifE/9bp1ud/HpvNznnHue59wbcp2ekOs4aEAe/UihiB20YQwZTCCLbfUn0YIcYljAAKJa04RKtCOMPq2bxTjiSOi9I5pPowNLio1r3m73FG/WJtGKCvTqHMPKJ0CppByLPhkfLze/ZjQqP1tYqrGoswepUe4Jn3QAL98gVXCVvy0mXr2iqkdW7+lCBJ2KH8Kg7u0d91ZravYlK9jED7bwhDfVKi9mzYtqN6fvKKV8a7Xvgc72iA18Yh7ralFWbrVTmNF912OVO/xTjtPa5xqXONb4SmPjDLtWe4NunSup79uM11DnE7FyyFl9c9Zl9QsYtfYzNbnDN46wj1t8aP5Cz35xjhPFHSrOxJ/iQV7xrH/U+QdrnK/EAAAAAABMAEwAkAD0AUQBggHAAfYCVgKSAsgDBANUA3oD0AQgBHQEvgUwBYQF8gYeBmAGmAb4B1QHkgfICE4IygkaCZIJ8ApACw4LZgukC/oMSgyCDQYNXg2yDiwOpA7wD1YPpg/6EDQQphEEEWIRmBGkEbARvBHIEdQR4BI6EkYSUhJeEmoSdhKCEo4SmhKmErISvhLKEtYS4hLuE3YTyBPUE+AT7BP4FAQUEBRgFKQUsBS8FMgU1BTgFOwVpBWwFbwVyBXUFeAV7BX4FgQWEBY4FkQWUBZcFmgWdBaAFwgXsBgsGDgYRBhQGFwYaBh0GQAZehosGo4axhsYG4ob3BxCHLYc7B1yHeYeCB4uHjoeRh6eHtYfBB9WH6YfvB/IH+4gEiAeICogOCBQIGggdCCAIIggkCCkILggwiDoIPwhHiE+IVwheiHcIj4iWCJsIoYipCLaI2YjmCQgJJgk7CViJdgl4iXsJfYmMCZSJpAm5CceJyYnLieCJ74n+ihUKL4pJimIKgYqcCqMKpwqrCq8Kswq8CsEKzIrcit+K7Ar4iwgLEosiCyeLRQtHC0kLSwtNC08LUQtTC1eLXAthC2YLbgt2C4QLkwuYC6ULsgu+i8sL1oviC+IL54AAHjaXY9HbFNREEXPpLjE6b0n9G6+7Zg4dKfRe++ExCEB4m+cmEAoAdGrQEjsQLQNIDoBRF0gRG+iCRas6bAAtmD/fIHFSE/n6szMe3pEoNXvNuxBCP/X5+CJpDNd6Eo3utODnvSiN32w0hcFW3DPQRFO+lGMixL6M4CBDKKcCioZxnBGMJJRjGYMYxnHeCYwkUlMZgpTmcZ0ZjCTWcxmDie5xx1OsYBqdlPDAzzc5T5PeMgjHlPLc57yjNMsZA9neMULXlLHJ67ygS8sop7FNLAELwdRWYoPP40EaGIZzbxmOS2sYCWrWcUhzrKVVtawlnXBn17hI18xk0IqaaSTQSZZZJNDLkkkkEc+J4jiCB05TAzRXOQSF2jjNje4yTGOkygRnOM8t9hMKRZiGcxQ5jKfZOYxhPfEsYktbGcbO+iEQSIlSqLFIEYxiVli2M8BsUgs67mOkY3skzg2cA0TP/nBL+L5xncuU0gBHdiLmyqOSrwkUMZO3rCLt7yTREmSZEmRVEmTdMmQTMmSbMmRXMmTfCmQQmPAW68o7nKT6vVYGwO+RlNTs6qFmKY6v6fdmVs8ftVa41UbtDEthMZCQR8LRXOtGvBryVCl7Rnab4qqCPjV9odKnRrtpWUaHYpi0WmtrvLpzqY7W5iz684e5hy6c4S5Ip0uvecK67l15/7n7MUWnX+d4lZCtDtLKv8AREK0/gB42qWTR0zUYRDFf/91RewF1EVX/LMqdsUua8XeCygqNtYSsVdWFAvWqNgTe++N2E4aUcHYYi+xxoQ94MV40RjhYFzfrmQTewyTvJnMYb5v5s0boAjfYceQxxKszPDnVuO9ohMTK1VoTDQdSSCR+SziKtd5zHNyyOUDn/EacUaKJdPyxgw1w8xw02FGmk4zI8Lh9eoNkyi9E8NwXKSynyxu8IQXeHjLR/KM2ILaENNm2v210YHanuDNFi75uvO6heSC6MZvX20EzOPyJEBOuiZwKo0XEoUkpsmfFLKEB0Iun9Q18r6Yzxd/eb7fG6xiHWe4ohlTWMte9nGc2yxnG8s4zApWcp97emcNpzXNUQ7wiD084yBHOCRe3rGaa+Losv47xglecooLbNHM28ngFZk85Bznxd9TdbWL15zlIlvFyk1ukU4b2tKO9nQQ4zF0ojNd6MogunGHPvSjPwMYSCyDmS5ORzCSUYzWpC7GMJZxjMfNBO4ylRnMZBazmcNckukrHuLE+w52sp4NbGQTm9lNNkGGb/bi5PF/9i+u5kktqSxgoTSzmDSWsPQn/izSm5WiBFGMYHVQgpKUojRlKEs5ylOBEEKpSCUqYyNMSqz6A+d2qhFOdWksAgc1qEktIqlNHepSj/o0oCGNpN4omtCUZjSnRWBPhbfCbrolrWity3L+Zefd6aEr6EXv32w/niEMZZju8s86SGIik5jMlF8V8Q3KpNCMAAA=); + font-style: normal; + font-weight: 400 +} + +@font-face { + font-family: "source-code-pro"; + src: url(data:font/opentype;base64,d09GRgABAAAAAENkABIAAAAAemgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQVNFAAABlAAAADoAAAA6ixmUsURZTkEAAAYgAAAAzgAAAUWdS1bXR0RFRgAABvAAAAA9AAAARAOrBBRHUE9TAAAHMAAAAu0AAAXQJ1g3cE9TLzIAAAWEAAAAWQAAAGB0fvkkY21hcAAAQTwAAAImAAAEAEPCJiljdnQgAAAB0AAAACIAAAAiAP8LsWZwZ20AAAH0AAABAgAAAXMGWZw3Z2FzcAAAAvgAAAAIAAAACP//AANnbHlmAAAKIAAAMdMAAF5QHawS3GhlYWQAAAMAAAAANgAAADb7xfkHaGhlYQAABeAAAAAgAAAAJAZnAUxobXR4AAA79AAAAVcAAAOwKSNKamxvY2EAAD1MAAAB2gAAAdoFZe6mbWF4cAAABgAAAAAgAAAAIAMQAjNuYW1lAAADOAAAAgUAAAPwMjhCUXBvc3QAAD8oAAACEwAAAxeVQ5cocHJlcAAABUAAAABBAAAAQQh+5oYAAQAAAAgAAAAEAA4AAmlkZW9yb21uAAJERkxUAA5sYXRuAA4ABgAAAAAAAQACAAgADAAB/1YAAQAAAAAAFABzAJYAAAAM/0gADAHwAAwCQgAMAnsADAKMAAwCvQAMAAB42l2QPU7EMBCFxzgs5AZIFpItKxQrr+ipUjiRUJpAKDwNP9KuRPYOSGloXHCWoTNdLoZgko222MYz783o87MTgGsS5G34FuILk/j7TOCvfyAH+fK8SSCc1lXvSbyyOHNsrA130umaZFE/Bos66ni/jbrW729byoq58mAX8VYTdKHn8ykYKlEd2x3iHXOyiZPNnIhM2C+E/UxgwC8vnbtGk7xpw0OgwSsqPSpjdEVjG2j0yiDy1uqYlOtHf7VkvuDMqzU3lwdKF6hUBBjjQVlDQ4wq8jsWnWA8MQScGuVi8E9MRFlUSQztPBqsUZNhjTWcEz3fnbumCxUnNbj5ByTqa+QAAAAAAAH//wACAAEAAAABBFqFxzwxXw889QAJA+gAAAAAzRWgdwAAAADNFhD4/7v+cALBA+gAAQAJAAIAAAAAAAB42o2RT27TQBTGP7tpBZuAOEA1ApatY7uKIterJA1SV40SVLFN7GkTxc5Y9iRS1B3LnoADcAaWLBESZ+AufGMPUaEC1aOxf+/P996bMYCX+AYHzTPibtjBC1oNu2jhveUDvMEHyy3m3Fk+RB/3lo/wCj8stxHgJ1VO6zmte6dt2cGx88myi2fOF8sHeOd8tdzCsduyfIiP7mvLR3jrfrbcxtz9PlTFrlzeLrQI/cA/Me9Q9FM1l2K6q7TMK3G5TlRZqHKmZeqJfpaJiRFUYiIrWW7pnKpNmUgxVKkU41INVJYGnh/04v7FYBQ3URNk7NQE6b8ajP5SXcuyWqq1aJTjqXjg8P14oXSi1ltjeT0/zmcrqfSNly3nodf1upHvP+6z0Lo473T0rpCrpfYSlXfkJptVHf/xE5yFUYQhFArsUGKJWyygIRDC55/wcbLnkNRHytw5JHlKRcVciZxfgUuskTBaspZ5z+pYCq/WZVwCk32HqrYkv5K5W5s5pXJDO6k7mLnSmsb0KQy4M3oCZpqJeohZ+YL+Eemh9rey0Z3ulU3+Va34f6/req6K8yqeS/zRc0yt+EeGWTFPqHjGpI5s9zGPahPNeTcrqk3ODb0Za8x5vx669Y7qKk85j7lJzfs+R4dL848UzFqxnmYl0z+nX7JOxp4V2X/SCnDGeSJEvwC5QblbAAAAsAArALIBAQIrAbICAQIrAbcCJR4YEwwACCsAtwEuJiAYEAAIKwCyAwcHK7AAIEV9aRhES7BgUliwARuwAFmwAY4AAAB42mNgZgpn2sPAysDA1MUUwcDA4A2hGeMYjBgVgKLc7JzMLMxMTCxADjsDgwQjAxQ4uji5MjgwKCgqMb37z8bAwPyCcUICA+NkkBzjA6YpQEqBgRkA/pwMBgAAAHjaY2BkYGB+8a+AgYEp4v/u/9OZDjIARVDAGwCqeQe1AAEAAADsAFQAEABqAAYAAQAAAAAACgAAAgABcwADAAF42nWMv2oCQRCHv12jCBax1EpLQRCNdoFwD5LCy11EwfvDrRZ2R14k+AC+w76B6dPYii+gGNjsHlqpH8zHDDO/QQICx4HVyRR844ke7CTekQbkNejoN5HLd9DlJ76ec0E7tblyo8hqI47mvDXbzc5OLfihjW6x169d9z3UazOu5K6V3FK3Nf0z9xHXqyJevQzC4z6/zZJbSx5S9/35gsBXnwRBlBLGScQk8wPiZZSRWJNkYYxyd2oWT1CqP3B6cRo6jVDLD2WVKv4BdZdU2gAAeNpjYGRgYOBhAAErBiYGdiA2ZWBksAFCRgYfBl8gmQaEjAy5DHlAshwIGRluM7wEqmMCs54zMAIAqxEHwAAAAHjahZRLSNRRFMa/cx3H7GFWFmUUIjWkja/xNepgqYNFmISlILgxSipHiR4ULVpEm1xISNiixyKEpEUrCRKCKGpTi4gWUVAQRg8oZtUiqum7n+MrAudyfue7577+c8+9FwZgKaIYgYu3th1ATqL31CA2I8A4Uilk0DnW5upGy0RwoPdEP0JizUD/QD9axbaTR88dRofYxSFBmnGGDM6Q+Z+6pSNBdNC307KQi3wUohgR1KMZpi+Isy2gnm3T3n5Oe1c/7TOG0v4Ogub9dxzCzM8CMWT+efV7XCog3xjYzdmWc4UV7HGXNrGIXxhrwHlcxBAuYxTXcQvjrI+ybYJ+kvYQT/EcL6nmymu8wxS+Iokf+GUOU7aEJcfyLN8KcNZCFraIRa3R4rbH9jESti7rsYN2xAZZK+Bos7ALirfITeJBsUhsFneJe8TtYtQTj6UjYp1Y4cbIMulKsV6s8qvgqntD3akV70vXSd9wH8ly6W73kj1vq3Wl2OyyyAa1NomV4n4xKma7EXKbdKlYIraI19w9fZv/kiGx28fdpHukrK3jmQDWy4LI44nJQQFCCPud0fnoEcvFTrFWPK1TM+SGNU8Oa9VI4ATOzstnIp3RhIrP6aSUz+l5+kkWn9t/8jmdSyR8Ni2EpM8mnlqUEWaUfZL+61Jf/R6IPWKh2OSJJ9Lt4naxTGwR29TnpvROsUYsEkvFCrFTrBbrxK1ifmqjz4Z0t2ZLptZSxxU5JpaLEbUOp0LUDzzxTPHj4g6xRFyWWkk2SndY1+y+ZmAJfR6j4+4C9xxulPqm+V2IWmy2Xzaz53OXxxLmrY/SZrL4TRwTN4hXxEtir16EUxacd5NjtOZF/MKYw2qeooX3Kuw+iC/YylvDAqm3+DKrPkkFadWaK4Yqvk57WetjqcUABvlfzrDU6837zLH+pQvwf67lG1uKsvTrFqCtolrDsbkaXalxVWr3L24uT3xxupatVZcqVoAtjPdp/veY+gunbfpFAAAAeNqtfAmYG0eZaFfrmhlpdEut+2pJrfvqkTSHRnN7xmPP6fEdH3GcYLATDA5JwM4dbyDrHGRybQjZEJKFHFwJBMcGdvkIR4DNG3iwsIuTcCQcyy5r3vJYdok1+1dVqyXN4WX3PXta3fq7VfXXX/9dfzWjYniGYYvsfYyCUTPtjIGxMf3MaYYZ2wEfWfeLDMN0VndKABYDWEZR3fki08Gg351mdOfglvFFxky+Gc/l8pagKWgRTEGThssi3oAsA4j3I541X/jNl/eizXs7hLgyLiwkAg/5k+x9F46ghTO1O9GxM/8+deDAFBrZ19e3D/pkAReGnWFPwdnEDNUx0mME9E0YdWJAJ8boLMYInlYm4THASEUw6jSeZkxLuTwSMkjg9ciAOF7DW0QLj64ydLo6lTpXp+FjX4098K1Pf+sRpK/krxK7rsxXjn2IPXXhasBDwSwAHmnAw8b4mCizfV3a2DDAhjE5w0TggjGZe04zkeyL8Dv0uzOMDqA+AsP08hLsbHAVhSugmljwsTarntXYfAifk8hSKBW7oklksxToeeHb4vbBSKcn4d0wER3dXXz9q6VcvkscvKanf5A9ZYhWs/ZU1KdRdk4OFyayHDqZjEQC99f+eWdSeAZQBeqUl3/H9rAPAUY99XGoMNqqpnG4MMCFxwE3AT8dwdQFV1aKaVeVFQt2TpNBfEgPONvFQqnMqflQhi3nFt49NHBpcI4r8Xxv0nHJJN/jmJs/MXB0IY+G527ckREDu20ub2k6f/k7A66d+5ML1+O5HoKPFNBYxzgbmK2isA4DdBQzTEMH5UC4crbSMInKhSpb7MrAlWnoM+NXz6fTc0dHX3wqOpB2OtMDURt7KjrzvoWFE3Oxa+352b7emay1doDSaC/gYgdctMzUuphoMUDbwERBZlgDIDrrGph1JcFOC3fbKHZBW9Am2nj4DO5Fn6y9ef48itQm2FMnbj3+wAna9xHo20V4fmTdvtsxoH113+0r+m7qkT+C+/vtbxehswdPXKB9pYAXeOAFvjHOVbzgxwD/Sl7wS7xwBujuZ1SkV2cWM836/FHki6JJjzCTpLJzVw0M7wnM2QpCoBTjpqYtIe2+nwWPDAxcOZdBw/M3bm9mk46Oo9fVvufPEVYBvAeBRg4yPxv/hPk5A3Spz0p7FisvPAIGtIJyCc8O0GsJc45NBPx4/H9w8blF+GNP/fGPF65Gxtp56HMS+tSTPmVNpMRdKNfsE+OCe1FKs3OaUS/RPtuhrzL0UwzaeJNoC04+9BB66aGHapUT6L4TJ2pHTkBffTAvSujLyhTrfbXhptua+jJggIH2RUfUBn2pCf3LmN5F3IcJRAETXLind1gsLKN7nb17Rty93V22sxPiKBKO1+ZzWwcjWlccNBQzCmOcJzJ4eF26XmTQragSyiuAKzHl8Rxo6nNgpNRQwLmDUN4kWkSFhVdobPzo/YovP/6Vv/voHZvvZ0/V/i/S1t6qXYcsBz+F5/0w4BcA/FRMcl38JAaW6ULaByk4vIhCtU2g0s+fIDyE9Q0HbXkvIuNeDPBSywLWDYaNLQsj4e8ls0kl0E5tHxmNH4kDCM8wSEEZrB8PNtCn8CJ+aHHYrrAPLF6rVKsVCrEwVMgrFWq18j3sqV/s2vWLC1d/3z2zMON6/kMfet4FF+7vYzyHJV1kYXbW8UQYLbQOr8OYGS3Qua59EGDZtoRtj5ZBhP7IiM0l1UynGTPB2cKJGdSPsVYIvA8BssMP3NGtVBnvlE4wGWfv7rqpB7BEY3eVTvT+AnqKAp8WQH9YQAfInNqBkelowk4iK5kRK+m3w1jXFCrgzSLRFlRtC8Tg8SE16AyU6r10LBodu7S3fhYrFREOXXbHDbOz129Np7ddPzN7w47sjccuO3DVVQcuOwY4YTktA730MCfj686s5EQQiunggnKmLktn0yZbFftKq2Lj66Z48jfFPWOx+IZLunYvvnltpQ8Ex5af6+tZKLleRfOHxMRXiQ8TXp5mR4FGWibBbKrj48Hde5rwsWKAlXKaADNoIJzmMdb1iFWSbXx1mgljb4bQSCT0slCtCv5Ng5ZqjQ9hrYviXb29XWJf3y9NOX9udihn2HEoOrq/r3f/aHTvnGmEN7i1rBMTDxPxwmS7zpUZijqfeX+dwDc/5eXdbSo8lg3wAdYKJJljtjCt7tdaNvoM8IGO6SS07cjWx9IJY9FIFMa8ifnhNGMnfEhpaxF4rBylcVj+fgLIO/HN66cWf9G1eyw22LWI9l+ai1741a9/zZ6yZqd7J/ZwtT8C1QrAjwLQOtuwC3aMjL0JuxQGpCg3Uruphq92gqNd8srOMAH4TQpgoEsJGbEjkUUZRbHZsuEJ8CPqq/GhqHB7ZHtSzOpdEceCW4xy/MCOYuVoelNoOJHMVrIzQ5tCg3v7h28uft4XDXkNdpOhPdwRSPaEY+NFXyqxx+n2e3w+U8ixMBbfWA5ms0RP+YHmPYTmItPqgjfGpMEADVXBrBHrBkxdFaYotTP8T7/Cur5yH2s8ceLCeWr7B4FW2IaaGu1eRErqvnTdgoFOpcxnggvw+6LFwcVUNpu+69i1110DumJ/X7Xahx6rvfOm22+/ifRngHFshP46L9Jfw5Nv7o/aCIsPcWIVlcFS8IZHpg2cXmlw6KceeOkz0N1S6fIS/KEcdtixnmbYBegr2NDtq3RmAAMCVOI8cKeDSFxAljPDEtWd1iUMPc1wzViAfuea8JEDC175gA2xSNFmaUvvTLaZ25QsYi2n5h6OqztYhaJdLTwI2D6ZmE/A3+c+F1tIJLbE0e4LV/+tf8jrHfL/LZ0bM+C/AfB3MnvWnXMHBjiolDFwwRIrq5auMB+Afge93ylDHEY8qjOgZigExqOoDwMGBAa4MY6l558c0DoMSp1N2/vo8196Ylzv0Ct1Dt3oh9EM6j/OiX6/yB2vfaF2+qRL9PlE10mMt1HSDwbw0P4LW7W2KtbABaJi14Kajf/pdx8d1vsMSqPPMPzwd+87hz794eiEIExEP1ybPYf77oa+eeI3y7GrAresaOqq4ZnUZ5khfkizxJRREEQGgcfQjQq1X6Nv1v4XKtZsO9Hp4ztrG08Qnd4PssOht0BXxJmbmFaHTCP35sQAZ5NjZMEACx2pCh61kGlRgdExSCEC/AiugkQFaQESJJNqgx8ZyLM4WAxTVOEqQp097GYQdaQRqqCr7DYTj2eRBGOS561X9IdnTuxQimJ4Y6JLfM/goeuu0yqju3LRSoK7MxII9rrKEwnTHYmBlFsVijpt+73Rq95de6PbK3DxUtLBua3zCr3NA2OfgLHH2S+Cfgwyt9bHrsYjUzeNXRJtgwwwYoCxiRiSYpa8RDVjJEO1wjNqMlRs8TjqVUneAnRjxKEIvlJIZCJ+uwYPmxporIYhuK8rbT6kmVhUejeGM5tET7gyleDH/ErdsUVb2hrv3p1Ns198dtrtCw/t6Rk8OBYOBUp3mg1jU3+WAX4YgXGGYY49q+JkzRoySCdES3BzwJVJnhpiLSSPhkTJdGZGsjOHevr2BUbL5cHZqaow7KqkrxT7Dm5K/KF66TAf9e4WNg8NbfZY9kR5fvhShvBdFnAyEtrzDdqvwkpywBq0N2OAuYn2zRa6DX5rJrTXwzM0kjPLFNfLeQocXfhk1gu2jE/AgdNKniMsmQ33bY4ne12qxeu0Cs9ENDtV9j1YyDgTVmvcHu/7Q//+kbDXMfXUhRHRHQ6P7B+YHLU5XzYbRsl4ca4iROaAb0TDF5mFs/Ac6BqiyeuzQPENNOFLvYogdY+k6YgQp1NTTk7sKfTs6PUp2dpzbXPlUH8wlzhU6D04mURXZMRYtYNgHB7cLlrD7d15k2mH28+P7L860ZXJUd09T+zcy4DQNqY1LWRYGbtp1oyhsIzTgM4gBRoGOezGphdhTL1ItJFQtViuuyRsOl/OpZ95ZvHWW12lhd7kpgA7bEmk9cdqt6Lrr1R3JifLAaOW5LO6ltNsBehqgIhvlnmujmcIYxFqQiuCAZEmQBgDwk2AQQwYZFQrmY+MZFAOfrGD17mEgw3q/JcJNHvuRWaM6Lo8nLOE9fLwpBOeikhpMegTrgRyFYKrTWQiubrnm0Qg8Hqk6cL8Vuwq0RMmCAcEqrtm8ARIXx8C3SjFw5amOOPZkb7KZCpZdfN6i/G6Kasv6HJH+d6pRCb88uXt+kB5UzIQ1mpjqUsOvC2x+aqR3JZK6Ff+dNrvTyarHi/vchgUCh0X7o8qO2MBZ8GsNA+l0iNpTndYy1uT1bi1o82os5p7R4ThrNvgz6HD8XiM/AG/TAC/eIhMX86spzwlu6VZQ3mu8pywNm2TfO42WQYUjdwd1pcKaiZMlOtN/MRim4GP5z0LU4uBuC/tWgTFuE/vtumO7K29gvyFjMtV+xzVQTPA5GfZ34AEmpi+FRhr1sgS04hKKXtz6nM4Y0xyxMC+EfAcu0oYG6t6Bu1a/DrqSJbLSTjQ+ZoRXf+FXDwuivF4jvSdWK6QvnG8ObRu35I3rMJWXi/1W89OYwysgIGLYiBZDMlcrELHVtw5ktkUSPry9qLQglomPV+NWAxv13eIJXR5A0vEbCby/0UQ2CtX5IkuYh1b0porcygsPKqTcigM09aSQ8Hefkc9yyGWRQ04cRobv3lR+cJHvvCtv7xlI8xk7fA3vl07980pmjurgk4NAH62RsR+EWNdj9TqUTGlmo+lqlOBHX8TX0V8J+c1mKJc0BoKRbm9++5hv3hhmfNb2jTtR9QdGuU796Hboe8w0KYf9E6A+ei6noNEilXE0qzhua9hhgnAhAGmOvUCUnTPSvkanbGeh2iXMzfYs3CTK1ayc5ii2P3EqrXuVpmwQ0FPWGrCV2mV+nwymG7XFxNdvXd43JZ3efVW7R3ofNWfjMdC2a2bak+guUyu9hn4dDhqn6E2gsg80MHakPn1PCjNGimCNbM+asZKRolHYpBHYm4dSYvMgwcY2NK9MC2JPDo/HMislnfsc8QB15Yczyob3JyN5GSr611hdanuLdeVN/YPEuO78/nd44n6+UFR+kfcIPB8qvXz0GbsEGHxAh90guBkg7mV/SApKd7ASXL/NWv4361aSkUd8nbikFN3u112tyl/WKQVBsozvhV+BYezFZTE9WEKTS7oj7Dz45uOZSa73NgJHe1W2dKWBHZAhQ+yHy+4+fAweKCXjYVLl0n+J6b7BGuEMV7c15N4QLO+rydZBlWrr2dYw9cz/Em+nkiS1+X1fL3EEHGw1a4N/Fq+ni8oXtjxF5udgRW+HmIgcCf+tplZWFezrxKSVkE3SYKulhOcWASMK4SZpm5AAK6+TqeIHKoE43YfF/FkdgZABI7093V0HNdoSiO1GpXVIvA/ltWmnJLER5r/IqdEwzuLRN8zQFvLipxSVFidUfKxnE9RD2WuTW4viKmNleBAwR/o21ocvlIYDk0IWcEayroiwwVfoH93ZeSm3CPugN3KeU3tTj7jC/XGuKRzh9VttWjN+k5NhzOUC4R6k84UcCuTh/FE2auBm3FuBAefawtLs7ppRMgKslpSzyrTKK2TEpgvQqRO1ppaAp3iJ6+/zfLe7363UPLm7K7gXK5vXrRjh/S22459sifb0faODlOgZzZft02d6HyzXpT8yVVCvIopFGvkm6letKyrF4NS0BIlaSyCtUlkO0ExBmdLWzcv+hKepGtxPJo+shcVaj8pZBxBtKGekwM8O5nKury6CvGVyS3Ck40UB++/b1pn1yq1Nt30nS88hc7/Y3SzIGyO/mPNyMg5LegzCJLyJ/cpTWIDEMSAYBOxOAzgKLHU0FhQIhZNFXkAwtFUUROuzVg3pb7u8ak0KoWqo83/tqBGp1Kq1Crfn0097VG1q5QKTZv7Y+j8zyMT0egk/8QT+DwR+XnN+CQ/HnOPik+SMUZgjAUYo7Mx/1L+6CIab1WapWGLzgCjIMYpySHN9likUISs+QlNY9FwTYP5zkceFbWeTmWHrSP18OPPPtqj9+qVWoc2/zBifzNrS9psKevs8m/nbSmbLWmfxzyxXGX7AHcPs5tpdURXqatVoatqTWZ2SIEgzuFpSFYELA1m0gHUkhwjbphQ3mOxJvO6jh/cu0Xv0Ck7HNqNf/6SOVEaz9qjRteEOux1oZ99n98kRDZFvl/TZsezDpXqKNVxOK/vBdxX5840/83cGS/lzjYg5RvoU7W3kK4Wn0GZY9O17xyDrpaXaU2HosRGiV+rZs4xa8NfWwf+4xb4uAz/aQt8Qoa/2QK/Xob/giH+zfIF+NjCngKInbli3RqTxuhXeexnCQlx+vgsYTerXH6CZGOqkZfiSCGKiTCZyhYs4kKUIKhMrDZRWdHp0XnQ0dob16Qf/A468cFrrkEaZM/vSe758xP338+eOnHziQfxWMrLPK7hgLEoyVh+laNjJHULhFZqSlv72vDX1oH/uAU+IcPflOBkDZw839Eydyvhr60D/3ELfEKG1+eIrHWSOTXQOVVTOFlnJO0YW/pdCX9tHfiPW+DjMvynLfAJGU7wAe73Lf+AHWE/BxNvZBLM9XXuiOK5jzZxR0MFnYEnnUyUaByjpHGcshy3yffapFgkKmcN2whz0AjVvUR/7VuikV5sqb6m3xXNIpq24OSFJ0EjlOWsR5n7Z1dErLBs1BMXK2pUcbrwyul8nzg96Pbiy60Dxel7/ccuMwX1R8JXHUiFkZA4PIyXUVMbC3uS796AF/5yUwXA2SLJhhVMxsy6FSINfUvrr7REAFRyStsgu2OuJTpOz5JUI1JnfdEWJN6kD1SoCZeMWBKTl/eh0GPvfe/TtW/3HpiIPWjwxJxGozPmMaCNC++biR6/7fgDJ2JzJxb65vI29Kg1O03nkqxrkbm3t/DKSvhr68B/3AKfkOF1HiVrHOR5V0s7FD4hwykPsVjbsAWgoRFouGXdypFmGoIHCb/ENDTI+RulHJ9iD8wr8YmfrvCVTWtVPRHCjo+NPbcB1z7NvmvkTKP26fBhlB5WIceqCqiPjL8AGG8EnEsEZ8dFarGacTZJeVeKvR2uaEVN07p5WVo337i4e9XC+WU23P+Wkuv4+UNi/CVMT7LGwr4J9PQQev6ojdJ5JfzVdeCvt8BfkeE/aYH/UIa/0QI/L8N/3kZ1gRHgcxAH5IAiY8yTK1a/L+KfStpCsUa0cJbJA7XcQC2ctesk0QE2vXSNXE10hhFrGgKPSqsfZ5i4DMPRRYnwRQquKnKub0SK2UotK0NcPUJVa/im9DfOoNIkeAbUidqArPhWBmWRHhnf+W6F02vtcXUlZpOpssnVm4r2ClYV+7O2HG+LWAveiUBp3CWMhEIib0bfVumsBmdE9Z2MPqhXq1mUT94xtcXOh83G/U5fLBgJR4e2562hDlHU6fdyjgQfDzti5S/Ywh5jvuuDOZPJKFhs2jidixGwcxATwlz4yFz8UoKTdQEy1wHKG51rw19dB/56C/yHMvwNHYXjHOcz5PkraPvpBvz3TfBXm+B/bIK/3oCzNtI+hb+Rpv4Wfh48fNCi2f9WBrWeNaWZUpIgJf3QHDLm8TjlcQPtn+RuCF4JOg5mbfir68Bfb4G/IsN/0gL/oQx/Q7Kb2eVfAFy7jt3U/A/sZlTy4v8/2M3IOnbzvCskigpl2AknDfJ5gzgltXkgVc546GU1XT5umxsy+fRD1rkh3vlPwR1lnJyKFRPdAXoplJJ4/DqgyyzoCi3TBR71ncx67r8UfDUACQxINOmKHAbkqK4oksgT24WcvLBiMuKcF6aRFX5nIjRKAIwnsLQM4wDWS3VCU/ZNI+Ue/iS1oLnHF3B7ve6A7zavOBpNVszWaiQCukCheK0ty1tDoAs2+IURu703HR0peNCSSmvRu0KqPwxNTQ3hA1MoKyRSRAW4TZIKiEWiAj986ZVUBRD5wDq4j30ZNO2uFV5HI0fdgwE9TaRyY4CbBighMnwD/CBE19hh+F0EFoFHumhE25SWtFl9SlvrYkBXRolZQ1olMvH9nu5tPbmJDGeB/6F4iLOnhpKJgVCeS1itHIFY7BaPMx5dRP+Sme0LerP9gXBeCFpMDoc7IoZDlZTLYj5o6OSsFo/DFcoEfalY0uviK2LNReWJ5D+I/OWovF5YG/7qOvDXW+A/lOFvSHASo5Lnu2g7mmb4D2X4G5pG7jfKvgGy2dWoCM1iOmebZqIhxXT9ldbfO6XatTMgu1lJeqOyVTPJMBPIaXyJngtwToHMRoD+FVyuL2XELHWRrRcL2jmI1EF8yWyB7KJUVz9ydQdKA5ZA6tbBGX5oX0XcNRILV2dS4WGHPs/fH70uKQ5GN4beHz28eVO7qc3r7K340j4j+tfKX727csVkIlTdWS4t9Ppd3vTGwKahiofbaYo7xobq+WayRhdu5GIlBX2RVTopd6FaIzmL881tUi7WBqA2Od9Ms+eNrCwOH0NyLjZM8824cnhF1QNXxHwrMazmR4uLSt94NDMpeiKVqVik4lJYMxYr7zamcpn0acV7PrnZ7atnnf3c3GfNBlO4HB0ZyWD9xcG8T7IPgTdvY4aYe+ojFjH6YpMHuCqbJNU1EkBQLkxXwY9oJUsnPC2SoeJNGcklmkQU4dpyDg+Qqm68/uuRHV7sCvVJtTGnmeqSpMJAdYN+slhBeVEZVemRBpdaSFqrSMtiJH4h2yqAVaqo/Hg+FgjwAy69IW3xRMycxYGOG1IBMcaPbojsLIvTRbfJG7VZ7fZEJTIJvkuKc/QHzJ72z0cynG8kbApD+3Frxs95hMcqV4qB9muNWW/IJ45EA8Vk2BAd9/PVrHt21C+momZ/nyswCc4e003W3W4H11AAcmxakd/UrpG9pEvlVnn9je4hicGZrvTEwE/MnFtdQ6sgJfd4jY6GAoqmRU2UKu8a5PnBXeX62RH3mc2+uKN+DiSTATh0SYgL5t63JR7f8r45iLKSbNCan69Wt4h2u7ilWp3PW2s/ifN8HB/1ugcne5zRNXJIq8bWvHdIIeeQcHGAaokmSUD2bUFcTVKEmRJNrLPW88St3TP8kWuvvRa9c3eHx3rhLepDiaR++3ZgqJEV9lW7xkphfT2DWTpDVq4Dku6p78woVxWSSRTw4ri0D6eK+pAt2Dt6dDZVKkQH3DPOfLk/UpjvC0aHFjLuAeeDNX6h57Jtm0PZvOCacUadnd7iZCa2ZcuWmEJF68wTMO8WwDPdiP4khaldw+zXRUYL9xMER222XvzhlPLWZ0AfaMmKcHN1Kl+UrbrQsOe2RnXqVYGZVNeIOTXZvXeqkIoOBiezh6td26qhwZ7KfHzsksL8NZFnPGEhbAtxnYey0WDE59oVTXLpwURhzK40TlVTY1lnPg4TiPeLZWCu24E7d65L/eZ9WXo5pjW1VANgX05PKhWpx2aUPDkLTpPheg6aKeNtfDFYRKJJRFsVrNIYNu1H189+oPYKan9uFrUd9s343CX3HUcfeuhydEPtTkz3DNDdCjiGma1M67K2dg39dRbrXclyNRQXznsYpWo0WhFqlNcO5DUcnK7QCHijzQqNfDSwMV0aGxKNTofLOGRCJ2v/obVHHamZCh8f25Xfckx42hUp5HMFRZuuPYGGTlzbpnHkJsXifI9PjGL7W4ExBIF3DEyhsetMsr/alVU6ZBRtUjxJC2io/XXAzaxUAVr3mrNGHKQSeavbDLXGp7DQDTstA2nYXNRrAQPSlfBUvGrOF37CWgl4i3EXG9oSTowXfZGB+Uz+kolUZupAcfSKwAGdU3Dnk55QVPR3opvNblt2c3cwDCMsFKa7veHN1y7svGUhnvZTea7CgN0wX4ZGfbCUP19bN2rk/X24KEqsKsq4blOv0PBfVnLJ0ULty+jVymTCrLxv5uR7jw2c2DXynuvv3kPjE+xfeoCuuDa22qCsgJsXmvrrxYDeZn0lSHTDEqqQVpa0oIezS3higJfP0V0VvnMNTzvDgkkqN+qNsNfdqFOqy6miTu0vDOfTZXu8O+TmP5TLpPj8hp9agklnrBjomc3mpkreYtSZCpgD/bt6yzuqwecTWSFm9zltndbCY8lCJB2OCKmfebNRn07pGRdjQxmHMz0kpDc4lDp/TAxEB7NuZ2aQ+Hd4bdO1kr8kdmpQQWI4OdVN8xUOAEVkrqLUicg5vwZ/IZxKUEjbwDTURyk3THSzwCAX4Sx/2EL47LI6f/Fb+MSExF97JpKZzZd1jV4RRNs8fARYi7LZlzB/TXUHI5i/8jMN/sr4KH+dXv4degwiWgNgvkpBgQE611IeCOicNvmSLlfSZxrs6hp8uzMZMJsDSWdhZIS298KygD7B/AC0gZbBe0iUjCIJnlmpqKZDkwyu5oVblBqb4DMPZavVdxy6NX0p6nRFndnu3XP7bwuA703wYkOsAJ4lg0bAP76V+OSk/Rb4bZh3l5dhznYyn4VeOdDDE8xaWwJb96Ku4ay1y1OGlZobBEioIwwjL69zjQqJRAEf31l1sRAvl+NrHDSO+AaM8R72UWJ50+tWhjfyiYDgOTolFkHUKHhNExK/VN2rsu7v6kkme/DBOk+erP38yXS5nE739JC+5tE9EHvjvjxr1WbjppXYbeL4skUs090LpAN0tLXt+MmTyCU3DW0fgHH8ln2a1H0nVmgNOQ1KNxIIoASCeGM05qtoVbnSNOuVXPOo/kFt8gkhRyLgz3Hz4QOV5KZywBGOhayKx+rYLAeLiVAgYAn4XdZNsYI13h8P5mKhSNLbQBFwfNvyBvR7qTZ9JY6aeore1IKjF3CM2PXKFQv3XVWl0EKeG1VGP0EykOPmWpHsTiW7u5Op7t+GugDJoNkfcFkn4wVrrLoaScT8AGXRzewnYI6w7LCS7MBcGxB/TvW0it/Fej74wX8mcrAFZVk1+wmQg1PL2KPSMKeYk4wk0yiE7mSJ18GcIa3hdhAEAg3KYicC3VksKzu0MbGU6O7fvoM97BjNKfKJTHlh8/z1MdrWN6Gtv2SJfwBtKXENK8apVG4QAIvzN9+u0bbHoaGeyrYd6Gj2EkUB2tm6ibYD+HahEGtmXwR875LwvYviC/c2wL0wuXe3dO/uxr1lFxtmPkPvXfgDvQdnjNunGCd6CL0OOoDSS01wKxfLnIbTfOqZ6o03Vp+/9+Hys8+W6Vj+Bp5/qul5FXk+IpQ5m0ZAAzdWn3mm+taz5YfhN6TvJONkveh16HtRwmtRxqsC9zLk3n3SvfuaxmNnzegGVs28vPo74DHLfJ1tQyWS2z6Ll0PxXCfpruRZdLo2gUrvZMiS6dfZ0XWes7K5C0v4OawrmX9Cj6EfsBqsExlKm/czl6Ml9DGwNniseD2RjHWFeUEpvpJyOlMVXjpf7kj18qG+lMOR6gvxvSkHbquyfAnrWf6mhAdDMMF44JVa1lMLlK66ikA/tzyF/oF9XeIVtdSnilYgc7jY2MdyGvT+A+9614H5nXPW+GB6/vntb9x11xvbh7afvabv7ft3JoegnRugnY+y2CbhdvCbF4gNIbEIzmxghrshPRi3zu2cx229O7lz/9v7rjkLrZDGMC4vLx9C59mXyJ68s9gjAnzwOkwLFclO45eR8PnP1/6efWn6wuA0Gcfb4bf3yL/FEBX5rbIxcrKJGFxv/wtIqP39JPs30289MY2ffIfUbxm45yz4bIjpIr91wpWLXGklZXgGNE8H2ZMKY+uiMalQxIMkdhJCLMk7kAMWkvQh8OivFEqFLlCMgfujg8td+6fi/pi9XZUplTKqdnvMH5/av6vDnRAER6fL1om2oU6bq5OLCUnXXP+02ui2xabTPWK7sl3syWyO29xG9XR/fez/IuNPKr0I1i644sgV3ocZI/jr4CxQ/Km3LFeal+haW1FKMZCJBycUn2EYcONev2BvV2Jsle12gWCrUOERxeN4RCo8okmMZnxzRkIzPR2jaM65kkKMaxqWQxASbhgWxnZyeT+rZ78GvOpYMyN1DqeJkPjV42jj8ccUV5AR/npZja5kfwO/wfyG+YPoOAi3f33LLexv3nKs3W5zfTCLjbKI+EncLvu1tx7GNqfRrgbk8AzhI0WS7v6u98CZeBP0gvupTR6p9aKvSfsQmd2sgy1BhIjXQvRZ/Gu9VJuI5FixXnPWIcWLOnBZBhAotLLIES0oaK679C+4x3XTuse5v7h08Oqrb//w6HjyueeS46MfTt11F/VDxpefZU3scyDdQ8wMzHqS1Bzhua5KRvEMkwGIiSSrLABNkisvQKmv7zXSHEI33M0QSHf9/QF46qm3ryaLbjSnjLfhypllu5xYLpHUFDYq3FcCYtUbDhT6fZFXuW53KdY/3h9LxrU6Z24iW35HaEGs+L1C31ifkIrqDXu29l4SQHOOoNtphGAy6HYY7I9ZPYLZ7Q6kB9OpIYcxyoV6E454cpPosFg8Ll96MBsd4Uwx1+jWuIPQIbf8afIuAwVosMh/tb4LALCpeGd43WfvQ+jEvfd2xfLbh6PRoW35BHvqQhjZvH3bewa2Fu00xrIs/xs7xt5N8l1jq94voV2zctgp5zl5cpVeoml7mvobWqqvYVhWVRQ3sl1Yl3Ard+k2uTWW9NQVPT1XTKXr50F/z2w+P9vjr5+7PbmBkFC0lrWcPiJEgxa3PsuVg9GBjAuNTb9vazq99X3T08e3ZzLbj09XD+JdiAer/QfHo9Hxg9XUeMHttfZrO/vTYqVTO2rhPOJGBrj4clQG3/FbhB5F4Kx+4D+rlBWhTpmPXJXwPmbinvmkzHjBSONLnIPognOe7P5euW++MXqsfATJXeF4vJW6XH+NDErGJ0p+f2kiXj/7i4LNJhT9gS587srv5IGtExWft3faaDAYbKjsK02mUpMlX/2ct8e6eb47Zq+fLwRCJm/bVKVy0KTVGkoMu/yv6B3sPPsEjNXNzDH4fTJncR01hCN160L3aNmllT67tJsBLeG3zODsD80MqeWNTzhMscEdBx574w0LZV4DA+Rs8FEkbzlBlreFbEpr6G0LWmWxt6TULnxn5sL0fvaJvePje2tf23/svvuO7f/Z9u0/I3LgX76SjbK3Ac0HmQGYD1wfKxAc81IVw1nMcZJFrZIdrlhHYA8sL+0peBFmkuRR5A1wJPPcPBmtTjWdM019ZyZio9NapaUSd2dDFn7okh5joBDkN3TzuJo63edNJBZKlXduE3PzV/b3bCm6fuVx2nnThp6Dooe3R0VvrC/u1Bg9BYELTb5nfvrYVMRm2uj05i578IorFvdnosM7uz7GOS2mS7Rhpr6H387eATPjZ/58xdtFtCvL27RrrK6tKhw9S945gQiN1JIPQUtIibZeaiT2TUt0F4Zf2gqGpM1eNpzUhxkkh6ghh40nB4+n2AIf90xu1c/sti1YD8Exs7tzYR+31f42butr+kOdZ/detfdJ+Aens2fPIidx08BffAmdRjex58Ff/CyYmtME9ijAPsO+BbDPMawEexI9i54jsBfoczCihyDW+xs0SvY9xJhVCSgqsi7phSD1zVUXf51FoISFphSony1erwUOnSM1IAj9SY5L9gvCQMoxExPFcFgUY9g+vgQfN6Fu6M7HrNpjdxYnzYkKwQwIPhUuzke2OYvHYddtOfy9QYW6TdtW+wY89Ai08ykYD8ekmFW7yGiCtk0SSnnRYamRGK/vLQadAq7kM6A2OLvd66p6B+OVDQX/JbW3ytZYJNBpsfPd3nCvyA96txP7/iTQ8TnoNwGStEbEzMlC1YHTF0maYqPpVz9AOloL5tfOcjdM7CvGtM3k5KPegNViChkS3GjcmQxYHD7ebwvn3f4N/H6tWW8wmct6s85gbK+aHZ1c0OoOajuiHnvEZTC6YO4/Aoh/F2iuAtS6V2dYzuI9BZJSYGVlVi9bUEuvLIgU8ctfOJy6BkUl2kQ0pFaGgt8V9z523Z+JN9ovq/YN9/eL33iR8urDzFvoq+xWiJ3OkO8n4fv/Jt/PEn6U7oNXFiI1WaYsfW8B1VI62XfH9VcBQlAzQO3yHg+/ZDlL5Qb17F5Ur4CXd4qjhy95m6JozTgjwc2xocmtGtYuunM9B20mo1dXiqN9xd6OpEE/YnVsnD4TNHO9Bb1BrytqMN0knInM4IiCk95kQuMSL41GLrIb6KQ7WwkGK1l3/fwObyDgxQf6OMRQHAexUHwwxXEpOOfz8USO7gt8BN2Fvsh+Uu63Q45BrLJ4oIuJZtoH/MwJRR+c7XZ8jkTwge4CmxhotpEb4sFAPB4Ixsm7XZgBtovdApKZIP2GpOwojX1ipN8BRKIFcFVLpMxEQ+2yhixTChpL0/DDcyGTcXbjzlypq7Bz41zIbJrfuIvrcpUzu95eCIcL+PjAfGYoULbPT+5yOndNzqcHg2VufnK3TufYjbTpYjENh/R+j3tZLfsrkPZxwi1Y7E4z0XONyhHgi3M4a2KW6m6wjTVL+5xw6X+UrE/jVXvshwAFm71a4OoMaqmVAOYRIXrj0Gl+ID6WHNo0lNy2cCB/KDqY25oLR5NDm4eSOzYf6Jryoy87nRmzw+FJVtMDe/T336uKBw96gw6bzePyJKqZoW26W2/RJANkHCNA6Ch7O1B4+4r9N9qVC+3yCgitQEXy23MUS419ODQ/H5AqUfkluuKIF5HBh2gsGDd8x/pGYhgzG615u4YVRxfatKHKQqG6k5+xpry5cpvqqXsRcnpPnNhtnSl16reprDFrdnPRmxBmbbZMzhw279boNeEut7LpnS7HQSKOrLAs2pXveNOu8/aI+hY1FVk8q290xcbUcQ5PZX3Dq016xRkpuW3aNCBKlbdYOYn4ULzQr/cYlHqvvn/xox94+umnF5966qkPfJQ9fjI4HIC/k7UfbShvWFyEDxSBMaSXf8eOw7zkG/tcJZdAu3IHHkE5BtKC1XsM5iFJKxuW8De69heWqrjC0n4z+t4VTt6HhmsaM9TPkt51BJMV7SpWEPgM5ZaNXWCebB5EZw2rNHY8frBf3DFe0A2WESoPOh84Iu6LzHFdAXFYf6H27+i17xqH83yJm01nvT1bu8eUGp0G/kZVR98Xi85YHNWeSVubXrOp3Otx0Thy//IPQLbuBhMQZi5hWvdyaDETBuUdAS5JHdOXyGD7wGTxEiN1eNXZxt74zix9laaLvGwGU5OkMsk7hvSICJyCupZEzDRRwVSFmKIcDkf473lHQ3P5mW5/oHc6OycM2Ed8blvYgD5tHEynhwxjTq9q3z51bGhHqbhtIN526R6ll9vlUNTOKy06snHOA3N5lMTrODOgwZNGdBenQRqhbDojPo5+DR+XfyL7dVb7ydzXqc0yAw9MsO9nBeb55ZvBxkeZryCcIXyeuYncNwGx5tgTcP+zy7fQ+6S+6PM3MvL98VX3sWdGf+8g76PD7b9Qb1+D73+euUnat7KXNbMlwNnLNLxQ6mOqJf+yndZIi0W6N43//ac/fQT+kP3Q6dOHTkv7X2jecs384wb07VoXuuEQfm6BOcoqWR76izN0x6hCclxovgJPJZIqGnDGQilnKWiKYuGuuzbeffdG8nnm7nsm74G/u+ETx8sbmI0wlk1kXccNUXkjk0ajX+Yc3TuP2cMAZ9s5bNMamWlF02qCAvBGKT6T4eG4mnzCcT8ZyWeSoVASH7U36TmJOg7h3C3zUaDB/2GjzMvM1QzO4N4p7cv0o9+z7wWq90l5Mo38FjwW+/NZutHlDNmLoqHvnyQVHTjYr7+R0BKxqeB/5Gp0S+3fUHvtBnTjf5z8K+VfnfwP3OIB6OMNuQ+NXCuwVh/1twiu7gOpihH4r0JvQPPt0M0tyFnvhMY9lFfwWy9WvXuouewel9grz9Fz/bWNbUt0Tw8NR7XnWplKAwSXGOvThMrRQx//+KH3lw5R/tqGzCzLPgp8El0r28ISM8xIr2mir9ey8OTNufxvr/nQezNpZTrzXvbR2tXkbVo40/qPbBg9DZwiMBRxK1E2BtmJV0h61VB/cxV1lpsiUVL+GVjI+jMCb7NF9Tvq11ZcVjU94vA4Yom4dK7LGsiISpYRpSQjOEUMUnKk9hi6ofbj02QfZ4XdhM4DdscY6nesXeO8asv2qq39zZv7AtKKP87HtUsVPN6WFyfVd7vLezlxJtYu9qJ6QSv1dQVQn3x1kQ95c9x9rELBWg0qjdrcGXHkezqV1mrECkZGqb4fna/9pJQIJVEhtX/Pgp8zs1eqNLlMKt1urFxWBpmR1ozAR7+b6Ku72Sq6gX2TJZXW8P0f4PvL5Pur5PvN7AD6AfsKSyqo4ftRtg/9kv0hSyqn4fvj7Cx6gf0EfP8Z+f71ZR7dyijh+y9ZzEdS+3L+ViFlVzn+7gd2Hmbf/BjA7mC/hK5VlNZ45o5H5t6jKF0HMAkv6RlWWr9AfFlEY4d3PsBWP0b59ifQ1ityWy3PbXvP3CPsl66jz90B7b0C7Wlgqhq8gXetACdivbVEMcCvZvrNiYOHi8oixnbfPnjyNujje9AH/S0r5w9UkhCS3GqZ/vi2/ffsfxf8GDq+rr+f9i3RFGwFloU2+d2JBvKmj7q3u44siA1Z4G9ur2bMfqdda7RqNsG1xeeyd+BrdmDjBqPVyHknxk0WEyfVE9zC/jX6O8U4yCBePzC16CzVuYbSaLwz1yrl7UhvLTigw9aQ16nrtKo2tVWEpmv2r/UmvdU5NiKdoBeJR9a0VY8ja+2f2E/swT6KxFvEnnglza2WMdRJgSp5+2eTFRGbrv+aT6V4Ppn8PBw8XLN96VAwnQ6G0vUz7udW9gvo+4oJuR91CyX+lH5e9guCH46PSWf2CzGfL9Z84H7Ogsb7MHue9MORiguG+JM6Esdg29hqD1tTL2K1KuLD5HCY4GDD5Wy2TA6XzebCB+3jRfRhxfX/r31wHOnjRRKMwVHmcIU4HHgOvgoyfTPIhwmoVV+DoR4L9n+15+rvc4mIUloDh+p4PRCptlldAW9uMKwNZ50hZbaN97sirk62T2m1dtow578Ebd/0P2pbuc3qDHrzg7yWzzrWbJtZ7mZ3KAJklR1vYMOSncubgvg/SqHUhY/D5+/ecjD/CSaEk+MAeNpt07lLA0EUx/El2AiCGxW0cguPwvskgibEgzUGIaJBUgURRDwKi9SCF4iNrUgQFKytFMHGQvH4BwQ7a0trWb8Dv8Vh2eLDm519M5P3ZpMoOW2JkuOgFkWkMIkyttGDLPIYxwy2lDOFTr1rh48heFpTjxo0wMUY0shhGv06bxEjmi+gC/PIaN+ccsNYwSgGlePpnA6NfdUTI/jVmeWIfERYW1QrGlWfzZUE5lRnHFe1pyIKMcJ649Rpv0yEJ2G/mtV30+Nh9dbceR8mtCatft7j7j8GAfFVVrGODywp51335ssNHtGtvcP5BTRpzbHe3WIXb9jApqLp/bcVTW9nMaC+r/G7fqx7fsIFrnGm56qeL3GOIytW9U1ldQ9mn16sIKlvNSktVg1Fa1xRP8x42epBRj05xSf2sIMrvGj+RO++ND5U3r7yTP4BHuRZNZn/qPMHx46jYAAAAABMAEwAkAD2AUIBiAHGAfwCWAKSAsgDBANUA3oDzgQcBGYErgUUBWQFzgX6BjIGaAbIByQHYgeYCBYIigjUCUwJpgn4Cr4LFgtUC6YL9gw0DLgNDg1YDcoOQg6ODvYPRA+YD9IQRBCiEQARNhFCEU4RWhFmEXIRfhHYEeQR8BH8EggSFBIgEiwSOBJEElASXBJoEnQSgBKMEwwTZhNyE34TihOWE6ITrhQIFEoUVhRiFG4UehSGFJIVTBVYFWQVcBV8FYgVlBWgFawVuBXgFewV+BYEFhAWHBYoFqgXSBfEF9AX3BfoF/QYABgMGJAZCBmyGiIaWhquGxgbahvMHEIceBz8HXIdmh2+Hcod1h4wHmYelB7mHzgfTh9cH4Ifph+0H8If0B/oIAAgDiAcICQgLCBAIFQgXiCEIJggvCDeIPwhGiF6Idoh9CIGIiAiPiJ0IvgjKiOyJCgkfCT2JWwldiWAJYolziXyJi4miCbCJsom0ickJ2AnnCfqKE4ouCkaKZgqACocKiwqPCpMKlwqgCqUKsIrAisOK0ArciuwK9gsEiwoLJwspCysLLQsvCzELMws1CzmLPgtDC0gLT4tXi2aLdYt6i4eLlIuhC62LuQvEi8SLygAAHjaXY9HbFNREEXPpLjE6b0n9G6+7Zg4dKfRe++ExCEB4m+cmEAoAdGrQEjsQLQNIDoBRF0gRG+iCRas6bAAtmD/fIHFSE/n6szMe3pEoNXvNuxBCP/X5+CJpDNd6Eo3utODnvSiN32w0hcFW3DPQRFO+lGMixL6M4CBDKKcCioZxnBGMJJRjGYMYxnHeCYwkUlMZgpTmcZ0ZjCTWcxmDie5xx1OsYBqdlPDAzzc5T5PeMgjHlPLc57yjNMsZA9neMULXlLHJ67ygS8sop7FNLAELwdRWYoPP40EaGIZzbxmOS2sYCWrWcUhzrKVVtawlnXBn17hI18xk0IqaaSTQSZZZJNDLkkkkEc+J4jiCB05TAzRXOQSF2jjNje4yTGOkygRnOM8t9hMKRZiGcxQ5jKfZOYxhPfEsYktbGcbO+iEQSIlSqLFIEYxiVli2M8BsUgs67mOkY3skzg2cA0TP/nBL+L5xncuU0gBHdiLmyqOSrwkUMZO3rCLt7yTREmSZEmRVEmTdMmQTMmSbMmRXMmTfCmQQmPAW68o7nKT6vVYGwO+RlNTs6qFmKY6v6fdmVs8ftVa41UbtDEthMZCQR8LRXOtGvBryVCl7Rnab4qqCPjV9odKnRrtpWUaHYpi0WmtrvLpzqY7W5iz684e5hy6c4S5Ip0uvecK67l15/7n7MUWnX+d4lZCtDtLKv8AREK0/gB42qWTR0zUYRDFf/91RewF1EVX/LMqdsUua8XeCygqNtYSsVdWFAvWqNgTe++N2E4aUcHYYi+xxoQ94MV40RjhYFzfrmQTewyTvJnMYb5v5s0boAjfYceQxxKszPDnVuO9ohMTK1VoTDQdSSCR+SziKtd5zHNyyOUDn/EacUaKJdPyxgw1w8xw02FGmk4zI8Lh9eoNkyi9E8NwXKSynyxu8IQXeHjLR/KM2ILaENNm2v210YHanuDNFi75uvO6heSC6MZvX20EzOPyJEBOuiZwKo0XEoUkpsmfFLKEB0Iun9Q18r6Yzxd/eb7fG6xiHWe4ohlTWMte9nGc2yxnG8s4zApWcp97emcNpzXNUQ7wiD084yBHOCRe3rGaa+Losv47xglecooLbNHM28ngFZk85Bznxd9TdbWL15zlIlvFyk1ukU4b2tKO9nQQ4zF0ojNd6MogunGHPvSjPwMYSCyDmS5ORzCSUYzWpC7GMJZxjMfNBO4ylRnMZBazmcNckukrHuLE+w52sp4NbGQTm9lNNkGGb/bi5PF/9i+u5kktqSxgoTSzmDSWsPQn/izSm5WiBFGMYHVQgpKUojRlKEs5ylOBEEKpSCUqYyNMSqz6A+d2qhFOdWksAgc1qEktIqlNHepSj/o0oCGNpN4omtCUZjSnRWBPhbfCbrolrWity3L+Zefd6aEr6EXv32w/niEMZZju8s86SGIik5jMlF8V8Q3KpNCMAAA=); + font-style: normal; + font-weight: 700 +} + +@font-face { + font-family: "streamline-30px"; + src: url(/assets/streamline-30px-e9f9c33fedae6cebb8167a3b92464bc04ef796f14c34d49291ac087262691fcb.eot); + src: url(/assets/streamline-30px-e9f9c33fedae6cebb8167a3b92464bc04ef796f14c34d49291ac087262691fcb.eot?#iefix) format("embedded-opentype"), url(/assets/streamline-30px-ab2a415b1666cae49b43eedd53ae1f93cd0528b1c2ffe6548e7c49fa378f9d6e.woff) format("woff"), url(/assets/streamline-30px-ad8a17f22779b73a5f13068db1bfe0d85d12d56b35767f11ad3c7036b87a186c.ttf) format("truetype"), url(/assets/streamline-30px-d5fcbf4f78d9068fdff1ab9d77045475ce270300b170e91e3295cc08c790f20c.svg#streamline-30px) format("svg"); + font-weight: normal; + font-style: normal +} + +@font-face { + font-family: "Glyphicons Halflings"; + src: url(/assets/streamline-30px-e9f9c33fedae6cebb8167a3b92464bc04ef796f14c34d49291ac087262691fcb.eot); + src: url(/assets/streamline-30px-e9f9c33fedae6cebb8167a3b92464bc04ef796f14c34d49291ac087262691fcb.eot?#iefix) format("embedded-opentype"), url(/assets/streamline-30px-ab2a415b1666cae49b43eedd53ae1f93cd0528b1c2ffe6548e7c49fa378f9d6e.woff) format("woff"), url(/assets/streamline-30px-ad8a17f22779b73a5f13068db1bfe0d85d12d56b35767f11ad3c7036b87a186c.ttf) format("truetype"), url(/assets/streamline-30px-d5fcbf4f78d9068fdff1ab9d77045475ce270300b170e91e3295cc08c790f20c.svg#streamline-30px) format("svg"); + font-weight: normal; + font-style: normal +} + +[data-icon]:before { + font-family: "streamline-30px" !important; + content: attr(data-icon); + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; +} + +[class^="icon-"]:before, +[class*=" icon-"]:before { + font-family: "streamline-30px" !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; +} + +@font-face { + font-family: "streamline-filled"; + src: url(/assets/streamline-30px-filled-in-4646a777f76d366ec26caad7921e728e2d01b9dca49053c6b316fe596700e252.eot); + src: url(/assets/streamline-30px-filled-in-4646a777f76d366ec26caad7921e728e2d01b9dca49053c6b316fe596700e252.eot?#iefix) format("embedded-opentype"), url(/assets/streamline-30px-filled-in-62fdf8602f56c68e259582d7ad3eb0e30b2808efaa03a074086faedcaf9017e2.woff) format("woff"), url(/assets/streamline-30px-filled-in-9c4de7ac5c05533207755509de4a14b25d1b8d7276ce055fe9ed3f43b38c8328.ttf) format("truetype"), url(/assets/streamline-30px-filled-in-c547d434f0242cda67f4d0438ae132de5fe5794afd2366906e2f1d3480756732.svg#streamline-30px-filled-in) format("svg"); + font-weight: normal; + font-style: normal +} + +[data-iconf]:before { + font-family: "streamline-filled" !important; + content: attr(data-icon); + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; +} + +[class^="iconf-"]:before, +[class*=" iconf-"]:before { + font-family: "streamline-filled" !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; +} + +.icon-aim-1:before { + content: "\e000" +} + +.icon-aim-2:before { + content: "\e001" +} + +.icon-aim-3:before { + content: "\e002" +} + +.icon-bin-1:before { + content: "\e003" +} + +.icon-bin-2:before { + content: "\e004" +} + +.icon-binocular:before { + content: "\e005" +} + +.icon-bomb:before { + content: "\e006" +} + +.icon-clip-1:before { + content: "\e007" +} + +.icon-clip-2:before { + content: "\e008" +} + +.icon-cutter:before { + content: "\e009" +} + +.icon-delete-1:before { + content: "\e00a" +} + +.icon-delete-2:before { + content: "\e00b" +} + +.icon-edit-1:before { + content: "\e00c" +} + +.icon-edit-2:before { + content: "\e00d" +} + +.icon-edit-3:before { + content: "\e00e" +} + +.icon-hide:before { + content: "\e00f" +} + +.icon-ink:before { + content: "\e010" +} + +.icon-key-1:before { + content: "\e011" +} + +.icon-key-2:before { + content: "\e012" +} + +.icon-link-1:before { + content: "\e013" +} + +.icon-link-2:before { + content: "\e014" +} + +.icon-link-3:before { + content: "\e015" +} + +.icon-link-broken-1:before { + content: "\e016" +} + +.icon-link-broken-2:before { + content: "\e017" +} + +.icon-lock-1:before { + content: "\e018" +} + +.icon-lock-2:before { + content: "\e019" +} + +.icon-lock-3:before { + content: "\e01a" +} + +.icon-lock-4:before { + content: "\e01b" +} + +.icon-lock-5:before { + content: "\e01c" +} + +.icon-lock-unlock-1:before { + content: "\e01d" +} + +.icon-lock-unlock-2:before { + content: "\e01e" +} + +.icon-magnifier:before { + content: "\e01f" +} + +.icon-pen-1:before { + content: "\e020" +} + +.icon-pen-2:before { + content: "\e021" +} + +.icon-pen-3:before { + content: "\e022" +} + +.icon-pen-4:before { + content: "\e023" +} + +.icon-pencil-1:before { + content: "\e024" +} + +.icon-pencil-2:before { + content: "\e025" +} + +.icon-pencil-3:before { + content: "\e026" +} + +.icon-pin-1:before { + content: "\e027" +} + +.icon-pin-2:before { + content: "\e028" +} + +.icon-power-1:before { + content: "\e029" +} + +.icon-power-2:before { + content: "\e02a" +} + +.icon-preview-1:before { + content: "\e02b" +} + +.icon-preview-2:before { + content: "\e02c" +} + +.icon-scissor-1:before { + content: "\e02d" +} + +.icon-scissor-2:before { + content: "\e02e" +} + +.icon-skull-1:before { + content: "\e02f" +} + +.icon-skull-2:before { + content: "\e030" +} + +.icon-type-1:before { + content: "\e031" +} + +.icon-type-2:before { + content: "\e032" +} + +.icon-type-3:before { + content: "\e033" +} + +.icon-type-4:before { + content: "\e034" +} + +.icon-zoom-area:before { + content: "\e035" +} + +.icon-zoom-in:before { + content: "\e036" +} + +.icon-zoom-out:before { + content: "\e037" +} + +.icon-cursor-1:before { + content: "\e038" +} + +.icon-cursor-2:before { + content: "\e039" +} + +.icon-cursor-3:before { + content: "\e03a" +} + +.icon-cursor-6:before { + content: "\e03b" +} + +.icon-cursor-move:before { + content: "\e03c" +} + +.icon-cursor-select-area:before { + content: "\e03d" +} + +.icon-cursors:before { + content: "\e03e" +} + +.icon-hand:before { + content: "\e03f" +} + +.icon-hand-block:before { + content: "\e040" +} + +.icon-hand-grab-1:before { + content: "\e041" +} + +.icon-hand-grab-2:before { + content: "\e042" +} + +.icon-hand-point:before { + content: "\e043" +} + +.icon-hand-touch-1:before { + content: "\e044" +} + +.icon-hand-touch-2:before { + content: "\e045" +} + +.icon-hand-touch-3:before { + content: "\e046" +} + +.icon-hand-touch-4:before { + content: "\e047" +} + +.icon-bookmark-1:before { + content: "\e048" +} + +.icon-bookmark-2:before { + content: "\e049" +} + +.icon-bookmark-3:before { + content: "\e04a" +} + +.icon-bookmark-4:before { + content: "\e04b" +} + +.icon-tag-1:before { + content: "\e04c" +} + +.icon-tag-2:before { + content: "\e04d" +} + +.icon-tag-add:before { + content: "\e04e" +} + +.icon-tag-delete:before { + content: "\e04f" +} + +.icon-tags-1:before { + content: "\e050" +} + +.icon-tags-2:before { + content: "\e051" +} + +.icon-anchor-point-1:before { + content: "\e052" +} + +.icon-anchor-point-2:before { + content: "\e053" +} + +.icon-arrange-1:before { + content: "\e054" +} + +.icon-arrange-2:before { + content: "\e055" +} + +.icon-board:before { + content: "\e056" +} + +.icon-brush-1:before { + content: "\e057" +} + +.icon-brush-2:before { + content: "\e058" +} + +.icon-bucket:before { + content: "\e059" +} + +.icon-crop:before { + content: "\e05a" +} + +.icon-dropper-1:before { + content: "\e05b" +} + +.icon-dropper-2:before { + content: "\e05c" +} + +.icon-dropper-3:before { + content: "\e05d" +} + +.icon-glue:before { + content: "\e05e" +} + +.icon-grid:before { + content: "\e05f" +} + +.icon-layers:before { + content: "\e060" +} + +.icon-magic-wand-1:before { + content: "\e061" +} + +.icon-magic-wand-2:before { + content: "\e062" +} + +.icon-magnet:before { + content: "\e063" +} + +.icon-marker:before { + content: "\e064" +} + +.icon-palette:before { + content: "\e065" +} + +.icon-pen-5:before { + content: "\e066" +} + +.icon-pen-6:before { + content: "\e067" +} + +.icon-quill:before { + content: "\e068" +} + +.icon-reflect:before { + content: "\e069" +} + +.icon-roller:before { + content: "\e06a" +} + +.icon-ruler-1:before { + content: "\e06b" +} + +.icon-ruler-2:before { + content: "\e06c" +} + +.icon-scale-diagonal-1:before { + content: "\e06d" +} + +.icon-scale-diagonal-2:before { + content: "\e06e" +} + +.icon-scale-horizontal:before { + content: "\e06f" +} + +.icon-scale-tool-1:before { + content: "\e070" +} + +.icon-scale-tool-2:before { + content: "\e071" +} + +.icon-scale-tool-3:before { + content: "\e072" +} + +.icon-scale-vertical:before { + content: "\e073" +} + +.icon-shear-tool:before { + content: "\e074" +} + +.icon-spray:before { + content: "\e075" +} + +.icon-stamp:before { + content: "\e076" +} + +.icon-stationery-1:before { + content: "\e077" +} + +.icon-stationery-2:before { + content: "\e078" +} + +.icon-stationery-3:before { + content: "\e079" +} + +.icon-vector:before { + content: "\e07a" +} + +.icon-award-1:before { + content: "\e07b" +} + +.icon-award-2:before { + content: "\e07c" +} + +.icon-award-3:before { + content: "\e07d" +} + +.icon-award-4:before { + content: "\e07e" +} + +.icon-award-5:before { + content: "\e07f" +} + +.icon-award-6:before { + content: "\e080" +} + +.icon-crown-1:before { + content: "\e081" +} + +.icon-crown-2:before { + content: "\e082" +} + +.icon-crown-3:before { + content: "\e083" +} + +.icon-fire:before { + content: "\e084" +} + +.icon-flag-1:before { + content: "\e085" +} + +.icon-flag-2:before { + content: "\e086" +} + +.icon-flag-3:before { + content: "\e087" +} + +.icon-flag-4:before { + content: "\e088" +} + +.icon-flag-5:before { + content: "\e089" +} + +.icon-flag-6:before { + content: "\e08a" +} + +.icon-flag-7:before { + content: "\e08b" +} + +.icon-flag-8:before { + content: "\e08c" +} + +.icon-google-plus-1:before { + content: "\e08d" +} + +.icon-google-plus-2:before { + content: "\e08e" +} + +.icon-hand-like-1:before { + content: "\e08f" +} + +.icon-hand-like-2:before { + content: "\e090" +} + +.icon-hand-unlike-1:before { + content: "\e091" +} + +.icon-hand-unlike-2:before { + content: "\e092" +} + +.icon-heart-1:before { + content: "\e093" +} + +.icon-heart-2:before { + content: "\e094" +} + +.icon-heart-angel:before { + content: "\e095" +} + +.icon-heart-broken:before { + content: "\e096" +} + +.icon-heart-minus:before { + content: "\e097" +} + +.icon-heart-plus:before { + content: "\e098" +} + +.icon-present:before { + content: "\e099" +} + +.icon-rank-1:before { + content: "\e09a" +} + +.icon-rank-2:before { + content: "\e09b" +} + +.icon-ribbon:before { + content: "\e09c" +} + +.icon-star-1:before { + content: "\e09d" +} + +.icon-star-2:before { + content: "\e09e" +} + +.icon-star-3:before { + content: "\e09f" +} + +.icon-star-4:before { + content: "\e0a0" +} + +.icon-star-5:before { + content: "\e0a1" +} + +.icon-star-6:before { + content: "\e0a2" +} + +.icon-star-7:before { + content: "\e0a3" +} + +.icon-star-8:before { + content: "\e0a4" +} + +.icon-star-9:before { + content: "\e0a5" +} + +.icon-star-10:before { + content: "\e0a6" +} + +.icon-trophy:before { + content: "\e0a7" +} + +.icon-baloon:before { + content: "\e0a8" +} + +.icon-bubble-1:before { + content: "\e0a9" +} + +.icon-bubble-2:before { + content: "\e0aa" +} + +.icon-bubble-add-1:before { + content: "\e0ab" +} + +.icon-bubble-add-2:before { + content: "\e0ac" +} + +.icon-bubble-add-3:before { + content: "\e0ad" +} + +.icon-bubble-ask-1:before { + content: "\e0ae" +} + +.icon-bubble-ask-2:before { + content: "\e0af" +} + +.icon-bubble-attention-2:before { + content: "\e0b0" +} + +.icon-bubble-attention-3:before { + content: "\e0b1" +} + +.icon-bubble-attention-4:before { + content: "\e0b2" +} + +.icon-bubble-attention-6:before { + content: "\e0b3" +} + +.icon-bubble-attention-7:before { + content: "\e0b4" +} + +.icon-bubble-block-1:before { + content: "\e0b5" +} + +.icon-bubble-block-2:before { + content: "\e0b6" +} + +.icon-bubble-block-3:before { + content: "\e0b7" +} + +.icon-bubble-chat-1:before { + content: "\e0b8" +} + +.icon-bubble-chat-2:before { + content: "\e0b9" +} + +.icon-bubble-check-1:before { + content: "\e0ba" +} + +.icon-bubble-check-2:before { + content: "\e0bb" +} + +.icon-bubble-check-3:before { + content: "\e0bc" +} + +.icon-bubble-comment-1:before { + content: "\e0bd" +} + +.icon-bubble-comment-2:before { + content: "\e0be" +} + +.icon-bubble-conversation-1:before { + content: "\e0bf" +} + +.icon-bubble-conversation-2:before { + content: "\e0c0" +} + +.icon-bubble-conversation-3:before { + content: "\e0c1" +} + +.icon-bubble-conversation-4:before { + content: "\e0c2" +} + +.icon-bubble-conversation-5:before { + content: "\e0c3" +} + +.icon-bubble-conversation-6:before { + content: "\e0c4" +} + +.icon-bubble-delete-1:before { + content: "\e0c5" +} + +.icon-bubble-delete-2:before { + content: "\e0c6" +} + +.icon-bubble-delete-3:before { + content: "\e0c7" +} + +.icon-bubble-edit-1:before { + content: "\e0c8" +} + +.icon-bubble-edit-2:before { + content: "\e0c9" +} + +.icon-bubble-edit-3:before { + content: "\e0ca" +} + +.icon-bubble-heart-1:before { + content: "\e0cb" +} + +.icon-bubble-heart-2:before { + content: "\e0cc" +} + +.icon-bubble-information:before { + content: "\e0cd" +} + +.icon-bubble-information-1:before { + content: "\e0ce" +} + +.icon-bubble-minus-1:before { + content: "\e0cf" +} + +.icon-bubble-minus-2:before { + content: "\e0d0" +} + +.icon-bubble-minus-3:before { + content: "\e0d1" +} + +.icon-bubble-quote-1:before { + content: "\e0d2" +} + +.icon-bubble-quote-2:before { + content: "\e0d3" +} + +.icon-bubble-smiley-1:before { + content: "\e0d4" +} + +.icon-bubble-smiley-2:before { + content: "\e0d5" +} + +.icon-bubble-smiley-3:before { + content: "\e0d6" +} + +.icon-bubble-smiley-4:before { + content: "\e0d7" +} + +.icon-bubble-star-1:before { + content: "\e0d8" +} + +.icon-bubble-star-2:before { + content: "\e0d9" +} + +.icon-bubble-star-3:before { + content: "\e0da" +} + +.icon-chat-1:before { + content: "\e0db" +} + +.icon-chat-2:before { + content: "\e0dc" +} + +.icon-chat-3:before { + content: "\e0dd" +} + +.icon-chat-4:before { + content: "\e0de" +} + +.icon-chat-5:before { + content: "\e0df" +} + +.icon-chat-6:before { + content: "\e0e0" +} + +.icon-chat-7:before { + content: "\e0e1" +} + +.icon-smiley-happy-1:before { + content: "\e0e2" +} + +.icon-smiley-happy-2:before { + content: "\e0e3" +} + +.icon-smiley-happy-3:before { + content: "\e0e4" +} + +.icon-smiley-happy-4:before { + content: "\e0e5" +} + +.icon-smiley-happy-5:before { + content: "\e0e6" +} + +.icon-smiley-sad-1:before { + content: "\e0e7" +} + +.icon-smiley-surprise:before { + content: "\e0e8" +} + +.icon-smiley-wink:before { + content: "\e0e9" +} + +.icon-call-1:before { + content: "\e0ea" +} + +.icon-call-2:before { + content: "\e0eb" +} + +.icon-call-3:before { + content: "\e0ec" +} + +.icon-call-4:before { + content: "\e0ed" +} + +.icon-call-add:before { + content: "\e0ee" +} + +.icon-call-block:before { + content: "\e0ef" +} + +.icon-call-delete:before { + content: "\e0f0" +} + +.icon-call-in:before { + content: "\e0f1" +} + +.icon-call-minus:before { + content: "\e0f2" +} + +.icon-call-out:before { + content: "\e0f3" +} + +.icon-contact:before { + content: "\e0f4" +} + +.icon-fax:before { + content: "\e0f5" +} + +.icon-hang-up:before { + content: "\e0f6" +} + +.icon-message:before { + content: "\e0f7" +} + +.icon-mobile-phone-1:before { + content: "\e0f8" +} + +.icon-mobile-phone-2:before { + content: "\e0f9" +} + +.icon-phone-1:before { + content: "\e0fa" +} + +.icon-phone-2:before { + content: "\e0fb" +} + +.icon-phone-3:before { + content: "\e0fc" +} + +.icon-phone-4:before { + content: "\e0fd" +} + +.icon-phone-vibration:before { + content: "\e0fe" +} + +.icon-signal-fine:before { + content: "\e0ff" +} + +.icon-signal-full:before { + content: "\e100" +} + +.icon-signal-high:before { + content: "\e101" +} + +.icon-signal-no:before { + content: "\e102" +} + +.icon-signal-poor:before { + content: "\e103" +} + +.icon-signal-weak:before { + content: "\e104" +} + +.icon-smartphone:before { + content: "\e105" +} + +.icon-tape:before { + content: "\e106" +} + +.icon-camera-symbol-1:before { + content: "\e107" +} + +.icon-camera-symbol-2:before { + content: "\e108" +} + +.icon-camera-symbol-3:before { + content: "\e109" +} + +.icon-headphone:before { + content: "\e10a" +} + +.icon-antenna-1:before { + content: "\e10b" +} + +.icon-antenna-2:before { + content: "\e10c" +} + +.icon-antenna-3:before { + content: "\e10d" +} + +.icon-hotspot-1:before { + content: "\e10e" +} + +.icon-hotspot-2:before { + content: "\e10f" +} + +.icon-link:before { + content: "\e110" +} + +.icon-megaphone-1:before { + content: "\e111" +} + +.icon-megaphone-2:before { + content: "\e112" +} + +.icon-radar:before { + content: "\e113" +} + +.icon-rss-1:before { + content: "\e114" +} + +.icon-rss-2:before { + content: "\e115" +} + +.icon-satellite:before { + content: "\e116" +} + +.icon-address-1:before { + content: "\e117" +} + +.icon-address-2:before { + content: "\e118" +} + +.icon-address-3:before { + content: "\e119" +} + +.icon-forward:before { + content: "\e11a" +} + +.icon-inbox-1:before { + content: "\e11b" +} + +.icon-inbox-2:before { + content: "\e11c" +} + +.icon-inbox-3:before { + content: "\e11d" +} + +.icon-inbox-4:before { + content: "\e11e" +} + +.icon-letter-1:before { + content: "\e11f" +} + +.icon-letter-2:before { + content: "\e120" +} + +.icon-letter-3:before { + content: "\e121" +} + +.icon-letter-4:before { + content: "\e122" +} + +.icon-letter-5:before { + content: "\e123" +} + +.icon-mail-1:before { + content: "\e124" +} + +.icon-mail-2:before { + content: "\e125" +} + +.icon-mail-add:before { + content: "\e126" +} + +.icon-mail-attention:before { + content: "\e127" +} + +.icon-mail-block:before { + content: "\e128" +} + +.icon-mail-box-1:before { + content: "\e129" +} + +.icon-mail-box-2:before { + content: "\e12a" +} + +.icon-mail-box-3:before { + content: "\e12b" +} + +.icon-mail-checked:before { + content: "\e12c" +} + +.icon-mail-compose:before { + content: "\e12d" +} + +.icon-mail-delete:before { + content: "\e12e" +} + +.icon-mail-favorite:before { + content: "\e12f" +} + +.icon-mail-inbox:before { + content: "\e130" +} + +.icon-mail-lock:before { + content: "\e131" +} + +.icon-mail-minus:before { + content: "\e132" +} + +.icon-mail-read:before { + content: "\e133" +} + +.icon-mail-recieved-1:before { + content: "\e134" +} + +.icon-mail-recieved-2:before { + content: "\e135" +} + +.icon-mail-search-1:before { + content: "\e136" +} + +.icon-mail-search-2:before { + content: "\e137" +} + +.icon-mail-sent-1:before { + content: "\e138" +} + +.icon-mail-sent-2:before { + content: "\e139" +} + +.icon-mail-setting:before { + content: "\e13a" +} + +.icon-mail-star:before { + content: "\e13b" +} + +.icon-mail-sync:before { + content: "\e13c" +} + +.icon-mail-time:before { + content: "\e13d" +} + +.icon-outbox-1:before { + content: "\e13e" +} + +.icon-outbox-2:before { + content: "\e13f" +} + +.icon-plane-paper-1:before { + content: "\e140" +} + +.icon-plane-paper-2:before { + content: "\e141" +} + +.icon-reply-mail-1:before { + content: "\e142" +} + +.icon-reply-mail-2:before { + content: "\e143" +} + +.icon-connection-1:before { + content: "\e144" +} + +.icon-connection-2:before { + content: "\e145" +} + +.icon-connection-3:before { + content: "\e146" +} + +.icon-contacts-1:before { + content: "\e147" +} + +.icon-contacts-2:before { + content: "\e148" +} + +.icon-contacts-3:before { + content: "\e149" +} + +.icon-contacts-4:before { + content: "\e14a" +} + +.icon-female:before { + content: "\e14b" +} + +.icon-gender:before { + content: "\e14c" +} + +.icon-gender-female:before { + content: "\e14d" +} + +.icon-gender-male:before { + content: "\e14e" +} + +.icon-id-1:before { + content: "\e14f" +} + +.icon-id-2:before { + content: "\e150" +} + +.icon-id-3:before { + content: "\e151" +} + +.icon-id-4:before { + content: "\e152" +} + +.icon-id-5:before { + content: "\e153" +} + +.icon-id-6:before { + content: "\e154" +} + +.icon-id-7:before { + content: "\e155" +} + +.icon-id-8:before { + content: "\e156" +} + +.icon-male:before { + content: "\e157" +} + +.icon-profile-1:before { + content: "\e158" +} + +.icon-profile-2:before { + content: "\e159" +} + +.icon-profile-3:before { + content: "\e15a" +} + +.icon-profile-4:before { + content: "\e15b" +} + +.icon-profile-5:before { + content: "\e15c" +} + +.icon-profile-6:before { + content: "\e15d" +} + +.icon-profile-athlete:before { + content: "\e15e" +} + +.icon-profile-bussiness-man:before { + content: "\e15f" +} + +.icon-profile-cook:before { + content: "\e160" +} + +.icon-profile-cop:before { + content: "\e161" +} + +.icon-profile-doctor-1:before { + content: "\e162" +} + +.icon-profile-doctor-2:before { + content: "\e163" +} + +.icon-profile-gentleman-1:before { + content: "\e164" +} + +.icon-profile-gentleman-2:before { + content: "\e165" +} + +.icon-profile-graduate:before { + content: "\e166" +} + +.icon-profile-king:before { + content: "\e167" +} + +.icon-profile-lady-1:before { + content: "\e168" +} + +.icon-profile-lady-2:before { + content: "\e169" +} + +.icon-profile-man:before { + content: "\e16a" +} + +.icon-profile-nurse-1:before { + content: "\e16b" +} + +.icon-profile-nurse-2:before { + content: "\e16c" +} + +.icon-profile-prisoner:before { + content: "\e16d" +} + +.icon-profile-serviceman-1:before { + content: "\e16e" +} + +.icon-profile-serviceman-2:before { + content: "\e16f" +} + +.icon-profile-spy:before { + content: "\e170" +} + +.icon-profile-teacher:before { + content: "\e171" +} + +.icon-profile-thief:before { + content: "\e172" +} + +.icon-user-1:before { + content: "\e173" +} + +.icon-user-2:before { + content: "\e174" +} + +.icon-user-add-1:before { + content: "\e175" +} + +.icon-user-add-2:before { + content: "\e176" +} + +.icon-user-block-1:before { + content: "\e177" +} + +.icon-user-block-2:before { + content: "\e178" +} + +.icon-user-checked-1:before { + content: "\e179" +} + +.icon-user-checked-2:before { + content: "\e17a" +} + +.icon-user-delete-1:before { + content: "\e17b" +} + +.icon-user-delete-2:before { + content: "\e17c" +} + +.icon-user-edit-1:before { + content: "\e17d" +} + +.icon-user-edit-2:before { + content: "\e17e" +} + +.icon-user-heart-1:before { + content: "\e17f" +} + +.icon-user-heart-2:before { + content: "\e180" +} + +.icon-user-lock:before { + content: "\e181" +} + +.icon-user-lock-1:before { + content: "\e182" +} + +.icon-user-minus-1:before { + content: "\e183" +} + +.icon-user-minus-2:before { + content: "\e184" +} + +.icon-user-search-1:before { + content: "\e185" +} + +.icon-user-search-2:before { + content: "\e186" +} + +.icon-user-setting-1:before { + content: "\e187" +} + +.icon-user-setting-2:before { + content: "\e188" +} + +.icon-user-star-1:before { + content: "\e189" +} + +.icon-user-star-2:before { + content: "\e18a" +} + +.icon-basket-1:before { + content: "\e18b" +} + +.icon-basket-2:before { + content: "\e18c" +} + +.icon-basket-3:before { + content: "\e18d" +} + +.icon-basket-add:before { + content: "\e18e" +} + +.icon-basket-minus:before { + content: "\e18f" +} + +.icon-briefcase-2:before { + content: "\e190" +} + +.icon-cart-1:before { + content: "\e191" +} + +.icon-cart-2:before { + content: "\e192" +} + +.icon-cart-3:before { + content: "\e193" +} + +.icon-cart-4:before { + content: "\e194" +} + +.icon-cut:before { + content: "\e195" +} + +.icon-hand-bag-1:before { + content: "\e196" +} + +.icon-hand-bag-2:before { + content: "\e197" +} + +.icon-purse-1:before { + content: "\e198" +} + +.icon-purse-2:before { + content: "\e199" +} + +.icon-qr-code:before { + content: "\e19a" +} + +.icon-receipt-1:before { + content: "\e19b" +} + +.icon-receipt-2:before { + content: "\e19c" +} + +.icon-receipt-3:before { + content: "\e19d" +} + +.icon-receipt-4:before { + content: "\e19e" +} + +.icon-shopping-1:before { + content: "\e19f" +} + +.icon-shopping-bag-1:before { + content: "\e1a0" +} + +.icon-shopping-bag-2:before { + content: "\e1a1" +} + +.icon-shopping-bag-3:before { + content: "\e1a2" +} + +.icon-sign-new-1:before { + content: "\e1a3" +} + +.icon-sign-new-2:before { + content: "\e1a4" +} + +.icon-sign-park:before { + content: "\e1a5" +} + +.icon-sign-star:before { + content: "\e1a6" +} + +.icon-trolley-1:before { + content: "\e1a7" +} + +.icon-trolley-2:before { + content: "\e1a8" +} + +.icon-trolley-3:before { + content: "\e1a9" +} + +.icon-trolley-load:before { + content: "\e1aa" +} + +.icon-trolley-off:before { + content: "\e1ab" +} + +.icon-wallet-1:before { + content: "\e1ac" +} + +.icon-wallet-2:before { + content: "\e1ad" +} + +.icon-wallet-3:before { + content: "\e1ae" +} + +.icon-camera-1:before { + content: "\e1af" +} + +.icon-camera-2:before { + content: "\e1b0" +} + +.icon-camera-3:before { + content: "\e1b1" +} + +.icon-camera-4:before { + content: "\e1b2" +} + +.icon-camera-5:before { + content: "\e1b3" +} + +.icon-camera-back:before { + content: "\e1b4" +} + +.icon-camera-focus:before { + content: "\e1b5" +} + +.icon-camera-frames:before { + content: "\e1b6" +} + +.icon-camera-front:before { + content: "\e1b7" +} + +.icon-camera-graph-1:before { + content: "\e1b8" +} + +.icon-camera-graph-2:before { + content: "\e1b9" +} + +.icon-camera-landscape:before { + content: "\e1ba" +} + +.icon-camera-lens-1:before { + content: "\e1bb" +} + +.icon-camera-lens-2:before { + content: "\e1bc" +} + +.icon-camera-light:before { + content: "\e1bd" +} + +.icon-camera-portrait:before { + content: "\e1be" +} + +.icon-camera-view:before { + content: "\e1bf" +} + +.icon-film-1:before { + content: "\e1c0" +} + +.icon-film-2:before { + content: "\e1c1" +} + +.icon-photo-1:before { + content: "\e1c2" +} + +.icon-photo-2:before { + content: "\e1c3" +} + +.icon-photo-frame:before { + content: "\e1c4" +} + +.icon-photos-1:before { + content: "\e1c5" +} + +.icon-photos-2:before { + content: "\e1c6" +} + +.icon-polaroid:before { + content: "\e1c7" +} + +.icon-signal-camera-1:before { + content: "\e1c8" +} + +.icon-signal-camera-2:before { + content: "\e1c9" +} + +.icon-user-photo:before { + content: "\e1ca" +} + +.icon-backward-1:before { + content: "\e1cb" +} + +.icon-dvd-player:before { + content: "\e1cc" +} + +.icon-eject-1:before { + content: "\e1cd" +} + +.icon-film-3:before { + content: "\e1ce" +} + +.icon-forward-1:before { + content: "\e1cf" +} + +.icon-handy-cam:before { + content: "\e1d0" +} + +.icon-movie-play-1:before { + content: "\e1d1" +} + +.icon-movie-play-2:before { + content: "\e1d2" +} + +.icon-movie-play-3:before { + content: "\e1d3" +} + +.icon-next-1:before { + content: "\e1d4" +} + +.icon-pause-1:before { + content: "\e1d5" +} + +.icon-play-1:before { + content: "\e1d6" +} + +.icon-player:before { + content: "\e1d7" +} + +.icon-previous-1:before { + content: "\e1d8" +} + +.icon-record-1:before { + content: "\e1d9" +} + +.icon-slate:before { + content: "\e1da" +} + +.icon-stop-1:before { + content: "\e1db" +} + +.icon-television:before { + content: "\e1dc" +} + +.icon-video-camera-1:before { + content: "\e1dd" +} + +.icon-video-camera-2:before { + content: "\e1de" +} + +.icon-backward-2:before { + content: "\e1df" +} + +.icon-cd:before { + content: "\e1e0" +} + +.icon-eject-2:before { + content: "\e1e1" +} + +.icon-equalizer-1:before { + content: "\e1e2" +} + +.icon-equalizer-2:before { + content: "\e1e3" +} + +.icon-forward-2:before { + content: "\e1e4" +} + +.icon-gramophone:before { + content: "\e1e5" +} + +.icon-gramophone-record:before { + content: "\e1e6" +} + +.icon-guitar:before { + content: "\e1e7" +} + +.icon-headphone-1:before { + content: "\e1e8" +} + +.icon-headphone-2:before { + content: "\e1e9" +} + +.icon-microphone-1:before { + content: "\e1ea" +} + +.icon-microphone-2:before { + content: "\e1eb" +} + +.icon-microphone-3:before { + content: "\e1ec" +} + +.icon-movie-play-4:before { + content: "\e1ed" +} + +.icon-music-note-1:before { + content: "\e1ee" +} + +.icon-music-note-3:before { + content: "\e1ef" +} + +.icon-music-note-4:before { + content: "\e1f0" +} + +.icon-music-note-5:before { + content: "\e1f1" +} + +.icon-next-2:before { + content: "\e1f2" +} + +.icon-notes-1:before { + content: "\e1f3" +} + +.icon-notes-2:before { + content: "\e1f4" +} + +.icon-pause-2:before { + content: "\e1f5" +} + +.icon-piano:before { + content: "\e1f6" +} + +.icon-play-2:before { + content: "\e1f7" +} + +.icon-playlist:before { + content: "\e1f8" +} + +.icon-previous-2:before { + content: "\e1f9" +} + +.icon-radio-1:before { + content: "\e1fa" +} + +.icon-radio-2:before { + content: "\e1fb" +} + +.icon-record-2:before { + content: "\e1fc" +} + +.icon-recorder:before { + content: "\e1fd" +} + +.icon-saxophone:before { + content: "\e1fe" +} + +.icon-speaker-1:before { + content: "\e1ff" +} + +.icon-speaker-2:before { + content: "\e200" +} + +.icon-speaker-3:before { + content: "\e201" +} + +.icon-stop-2:before { + content: "\e202" +} + +.icon-tape-1:before { + content: "\e203" +} + +.icon-trumpet:before { + content: "\e204" +} + +.icon-volume-down-1:before { + content: "\e205" +} + +.icon-volume-down-2:before { + content: "\e206" +} + +.icon-volume-loud-1:before { + content: "\e207" +} + +.icon-volume-loud-2:before { + content: "\e208" +} + +.icon-volume-low-1:before { + content: "\e209" +} + +.icon-volume-low-2:before { + content: "\e20a" +} + +.icon-volume-medium-1:before { + content: "\e20b" +} + +.icon-volume-medium-2:before { + content: "\e20c" +} + +.icon-volume-mute-1:before { + content: "\e20d" +} + +.icon-volume-mute-2:before { + content: "\e20e" +} + +.icon-volume-mute-3:before { + content: "\e20f" +} + +.icon-volume-up-1:before { + content: "\e210" +} + +.icon-volume-up-2:before { + content: "\e211" +} + +.icon-walkman:before { + content: "\e212" +} + +.icon-cloud:before { + content: "\e213" +} + +.icon-cloud-add:before { + content: "\e214" +} + +.icon-cloud-checked:before { + content: "\e215" +} + +.icon-cloud-delete:before { + content: "\e216" +} + +.icon-cloud-download:before { + content: "\e217" +} + +.icon-cloud-minus:before { + content: "\e218" +} + +.icon-cloud-refresh:before { + content: "\e219" +} + +.icon-cloud-sync:before { + content: "\e21a" +} + +.icon-cloud-upload:before { + content: "\e21b" +} + +.icon-download-1:before { + content: "\e21c" +} + +.icon-download-2:before { + content: "\e21d" +} + +.icon-download-3:before { + content: "\e21e" +} + +.icon-download-4:before { + content: "\e21f" +} + +.icon-download-5:before { + content: "\e220" +} + +.icon-download-6:before { + content: "\e221" +} + +.icon-download-7:before { + content: "\e222" +} + +.icon-download-8:before { + content: "\e223" +} + +.icon-download-9:before { + content: "\e224" +} + +.icon-download-10:before { + content: "\e225" +} + +.icon-download-11:before { + content: "\e226" +} + +.icon-download-12:before { + content: "\e227" +} + +.icon-download-13:before { + content: "\e228" +} + +.icon-download-14:before { + content: "\e229" +} + +.icon-download-15:before { + content: "\e22a" +} + +.icon-download-file:before { + content: "\e22b" +} + +.icon-download-folder:before { + content: "\e22c" +} + +.icon-goal-1:before { + content: "\e22d" +} + +.icon-goal-2:before { + content: "\e22e" +} + +.icon-transfer-1:before { + content: "\e22f" +} + +.icon-transfer-2:before { + content: "\e230" +} + +.icon-transfer-3:before { + content: "\e231" +} + +.icon-transfer-4:before { + content: "\e232" +} + +.icon-transfer-5:before { + content: "\e233" +} + +.icon-transfer-6:before { + content: "\e234" +} + +.icon-transfer-7:before { + content: "\e235" +} + +.icon-transfer-8:before { + content: "\e236" +} + +.icon-transfer-9:before { + content: "\e237" +} + +.icon-transfer-10:before { + content: "\e238" +} + +.icon-transfer-11:before { + content: "\e239" +} + +.icon-transfer-12:before { + content: "\e23a" +} + +.icon-upload-1:before { + content: "\e23b" +} + +.icon-upload-2:before { + content: "\e23c" +} + +.icon-upload-3:before { + content: "\e23d" +} + +.icon-upload-4:before { + content: "\e23e" +} + +.icon-upload-5:before { + content: "\e23f" +} + +.icon-upload-6:before { + content: "\e240" +} + +.icon-upload-7:before { + content: "\e241" +} + +.icon-upload-8:before { + content: "\e242" +} + +.icon-upload-9:before { + content: "\e243" +} + +.icon-upload-10:before { + content: "\e244" +} + +.icon-upload-11:before { + content: "\e245" +} + +.icon-upload-12:before { + content: "\e246" +} + +.icon-clipboard-1:before { + content: "\e247" +} + +.icon-clipboard-2:before { + content: "\e248" +} + +.icon-clipboard-3:before { + content: "\e249" +} + +.icon-clipboard-add:before { + content: "\e24a" +} + +.icon-clipboard-block:before { + content: "\e24b" +} + +.icon-clipboard-checked:before { + content: "\e24c" +} + +.icon-clipboard-delete:before { + content: "\e24d" +} + +.icon-clipboard-edit:before { + content: "\e24e" +} + +.icon-clipboard-minus:before { + content: "\e24f" +} + +.icon-document-1:before { + content: "\e250" +} + +.icon-document-2:before { + content: "\e251" +} + +.icon-file-1:before { + content: "\e252" +} + +.icon-file-2:before { + content: "\e253" +} + +.icon-file-add:before { + content: "\e254" +} + +.icon-file-attention:before { + content: "\e255" +} + +.icon-file-block:before { + content: "\e256" +} + +.icon-file-bookmark:before { + content: "\e257" +} + +.icon-file-checked:before { + content: "\e258" +} + +.icon-file-code:before { + content: "\e259" +} + +.icon-file-delete:before { + content: "\e25a" +} + +.icon-file-download:before { + content: "\e25b" +} + +.icon-file-edit:before { + content: "\e25c" +} + +.icon-file-favorite-1:before { + content: "\e25d" +} + +.icon-file-favorite-2:before { + content: "\e25e" +} + +.icon-file-graph-1:before { + content: "\e25f" +} + +.icon-file-graph-2:before { + content: "\e260" +} + +.icon-file-home:before { + content: "\e261" +} + +.icon-file-image-1:before { + content: "\e262" +} + +.icon-file-image-2:before { + content: "\e263" +} + +.icon-file-list:before { + content: "\e264" +} + +.icon-file-lock:before { + content: "\e265" +} + +.icon-file-media:before { + content: "\e266" +} + +.icon-file-minus:before { + content: "\e267" +} + +.icon-file-music:before { + content: "\e268" +} + +.icon-file-new:before { + content: "\e269" +} + +.icon-file-registry:before { + content: "\e26a" +} + +.icon-file-search:before { + content: "\e26b" +} + +.icon-file-setting:before { + content: "\e26c" +} + +.icon-file-sync:before { + content: "\e26d" +} + +.icon-file-table:before { + content: "\e26e" +} + +.icon-file-thumbnail:before { + content: "\e26f" +} + +.icon-file-time:before { + content: "\e270" +} + +.icon-file-transfer:before { + content: "\e271" +} + +.icon-file-upload:before { + content: "\e272" +} + +.icon-file-zip:before { + content: "\e273" +} + +.icon-files-1:before { + content: "\e274" +} + +.icon-files-2:before { + content: "\e275" +} + +.icon-files-3:before { + content: "\e276" +} + +.icon-files-4:before { + content: "\e277" +} + +.icon-files-5:before { + content: "\e278" +} + +.icon-files-6:before { + content: "\e279" +} + +.icon-hand-file-1:before { + content: "\e27a" +} + +.icon-hand-file-2:before { + content: "\e27b" +} + +.icon-note-paper-1:before { + content: "\e27c" +} + +.icon-note-paper-2:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/File.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.icon-note-paper-add:before { + content: "\e27e" +} + +.icon-note-paper-attention:before { + content: "\e27f" +} + +.icon-note-paper-block:before { + content: "\e280" +} + +.icon-note-paper-checked:before { + content: "\e281" +} + +.icon-note-paper-delete:before { + content: "\e282" +} + +.icon-note-paper-download:before { + content: "\e283" +} + +.icon-note-paper-edit:before { + content: "\e284" +} + +.icon-note-paper-favorite:before { + content: "\e285" +} + +.icon-note-paper-lock:before { + content: "\e286" +} + +.icon-note-paper-minus:before { + content: "\e287" +} + +.icon-note-paper-search:before { + content: "\e288" +} + +.icon-note-paper-sync:before { + content: "\e289" +} + +.icon-note-paper-upload:before { + content: "\e28a" +} + +.icon-print:before { + content: "\e28b" +} + +.icon-folder-1:before { + content: "\e28c" +} + +.icon-folder-2:before { + content: "\e28d" +} + +.icon-folder-3:before { + content: "\e28e" +} + +.icon-folder-4:before { + content: "\e28f" +} + +.icon-folder-add:before { + content: "\e290" +} + +.icon-folder-attention:before { + content: "\e291" +} + +.icon-folder-block:before { + content: "\e292" +} + +.icon-folder-bookmark:before { + content: "\e293" +} + +.icon-folder-checked:before { + content: "\e294" +} + +.icon-folder-code:before { + content: "\e295" +} + +.icon-folder-delete:before { + content: "\e296" +} + +.icon-folder-download:before { + content: "\e297" +} + +.icon-folder-edit:before { + content: "\e298" +} + +.icon-folder-favorite:before { + content: "\e299" +} + +.icon-folder-home:before { + content: "\e29a" +} + +.icon-folder-image:before { + content: "\e29b" +} + +.icon-folder-lock:before { + content: "\e29c" +} + +.icon-folder-media:before { + content: "\e29d" +} + +.icon-folder-minus:before { + content: "\e29e" +} + +.icon-folder-music:before { + content: "\e29f" +} + +.icon-folder-new:before { + content: "\e2a0" +} + +.icon-folder-search:before { + content: "\e2a1" +} + +.icon-folder-setting:before { + content: "\e2a2" +} + +.icon-folder-share-1:before { + content: "\e2a3" +} + +.icon-folder-share-2:before { + content: "\e2a4" +} + +.icon-folder-sync:before { + content: "\e2a5" +} + +.icon-folder-transfer:before { + content: "\e2a6" +} + +.icon-folder-upload:before { + content: "\e2a7" +} + +.icon-folder-zip:before { + content: "\e2a8" +} + +.icon-add-1:before { + content: "\e2a9" +} + +.icon-add-2:before { + content: "\e2aa" +} + +.icon-add-3:before { + content: "\e2ab" +} + +.icon-add-4:before { + content: "\e2ac" +} + +.icon-add-tag:before { + content: "\e2ad" +} + +.icon-arrow-1:before { + content: "\e2ae" +} + +.icon-arrow-2:before { + content: "\e2af" +} + +.icon-arrow-down-1:before { + content: "\e2b0" +} + +.icon-arrow-down-2:before { + content: "\e2b1" +} + +.icon-arrow-left-1:before { + content: "\e2b2" +} + +.icon-arrow-left-2:before { + content: "\e2b3" +} + +.icon-arrow-move-1:before { + content: "\e2b4" +} + +.icon-arrow-move-down:before { + content: "\e2b5" +} + +.icon-arrow-move-left:before { + content: "\e2b6" +} + +.icon-arrow-move-right:before { + content: "\e2b7" +} + +.icon-arrow-move-up:before { + content: "\e2b8" +} + +.icon-arrow-right-1:before { + content: "\e2b9" +} + +.icon-arrow-right-2:before { + content: "\e2ba" +} + +.icon-arrow-up-1:before { + content: "\e2bb" +} + +.icon-arrow-up-2:before { + content: "\e2bc" +} + +.icon-back:before { + content: "\e2bd" +} + +.icon-center-expand:before { + content: "\e2be" +} + +.icon-center-reduce:before { + content: "\e2bf" +} + +.icon-delete-1-1:before, +.icon-times:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/No.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.icon-delete-2-1:before { + content: "\e2c1" +} + +.icon-delete-3:before { + content: "\e2c2" +} + +.icon-delete-4:before { + content: "\e2c3" +} + +.icon-delete-tag:before { + content: "\e2c4" +} + +.icon-expand-horizontal:before { + content: "\e2c5" +} + +.icon-expand-vertical:before { + content: "\e2c6" +} + +.icon-forward-3:before { + content: "\e2c7" +} + +.icon-infinity:before { + content: "\e2c8" +} + +.icon-loading:before { + content: "\e2c9" +} + +.icon-log-out-1:before { + content: "\e2ca" +} + +.icon-loop-1:before { + content: "\e2cb" +} + +.icon-loop-2:before { + content: "\e2cc" +} + +.icon-loop-3:before { + content: "\e2cd" +} + +.icon-minus-1:before { + content: "\e2ce" +} + +.icon-minus-2:before { + content: "\e2cf" +} + +.icon-minus-3:before { + content: "\e2d0" +} + +.icon-minus-4:before { + content: "\e2d1" +} + +.icon-minus-tag:before { + content: "\e2d2" +} + +.icon-move-diagonal-1:before { + content: "\e2d3" +} + +.icon-move-diagonal-2:before { + content: "\e2d4" +} + +.icon-move-horizontal-1:before { + content: "\e2d5" +} + +.icon-move-horizontal-2:before { + content: "\e2d6" +} + +.icon-move-vertical-1:before { + content: "\e2d7" +} + +.icon-move-vertical-2:before { + content: "\e2d8" +} + +.icon-next-1-1:before { + content: "\e2d9" +} + +.icon-next-2-1:before { + content: "\e2da" +} + +.icon-power-1-1:before { + content: "\e2db" +} + +.icon-power-2-1:before { + content: "\e2dc" +} + +.icon-power-3:before { + content: "\e2dd" +} + +.icon-power-4:before { + content: "\e2de" +} + +.icon-power-5:before { + content: "\e2df" +} + +.icon-recycle:before { + content: "\e2e0" +} + +.icon-refresh:before { + content: "\e2e1" +} + +.icon-repeat:before { + content: "\e2e2" +} + +.icon-return:before { + content: "\e2e3" +} + +.icon-scale-all-1:before { + content: "\e2e4" +} + +.icon-scale-center:before { + content: "\e2e5" +} + +.icon-scale-horizontal-1:before { + content: "\e2e6" +} + +.icon-scale-horizontal-2:before { + content: "\e2e7" +} + +.icon-scale-reduce-1:before { + content: "\e2e8" +} + +.icon-scale-reduce-2:before { + content: "\e2e9" +} + +.icon-scale-reduce-3:before { + content: "\e2ea" +} + +.icon-scale-spread-1:before { + content: "\e2eb" +} + +.icon-scale-spread-2:before { + content: "\e2ec" +} + +.icon-scale-spread-3:before { + content: "\e2ed" +} + +.icon-scale-vertical-1:before { + content: "\e2ee" +} + +.icon-scale-vertical-2:before { + content: "\e2ef" +} + +.icon-scroll-horizontal-1:before { + content: "\e2f0" +} + +.icon-scroll-horizontal-2:before { + content: "\e2f1" +} + +.icon-scroll-omnidirectional-1:before { + content: "\e2f2" +} + +.icon-scroll-omnidirectional-2:before { + content: "\e2f3" +} + +.icon-scroll-vertical-1:before { + content: "\e2f4" +} + +.icon-scroll-vertical-2:before { + content: "\e2f5" +} + +.icon-shuffle:before { + content: "\e2f6" +} + +.icon-split:before { + content: "\e2f7" +} + +.icon-sync-1:before { + content: "\e2f8" +} + +.icon-sync-2:before { + content: "\e2f9" +} + +.icon-timer:before { + content: "\e2fa" +} + +.icon-transfer:before { + content: "\e2fb" +} + +.icon-transfer-1-1:before { + content: "\e2fc" +} + +.icon-chat-1-1:before { + content: "\e2fd" +} + +.icon-chat-2-1:before { + content: "\e2fe" +} + +.icon-check-1:before { + content: "\e2ff" +} + +.icon-check-2:before { + content: "\e300" +} + +.icon-check-3:before { + content: "\e301" +} + +.icon-check-4:before { + content: "\e302" +} + +.icon-check-bubble:before { + content: "\e303" +} + +.icon-check-list:before { + content: "\e304" +} + +.icon-check-shield:before { + content: "\e305" +} + +.icon-cross-1:before { + content: "\e306" +} + +.icon-cross-bubble:before { + content: "\e307" +} + +.icon-cross-shield:before { + content: "\e308" +} + +.icon-briefcase:before { + content: "\e309" +} + +.icon-brightness-high:before { + content: "\e30a" +} + +.icon-brightness-low:before { + content: "\e30b" +} + +.icon-hammer-1:before { + content: "\e30c" +} + +.icon-hammer-2:before { + content: "\e30d" +} + +.icon-pulse:before { + content: "\e30e" +} + +.icon-scale:before { + content: "\e30f" +} + +.icon-screw-driver:before { + content: "\e310" +} + +.icon-setting-adjustment:before { + content: "\e311" +} + +.icon-setting-gear:before { + content: "\e312" +} + +.icon-setting-gears-1:before { + content: "\e313" +} + +.icon-setting-gears-2:before { + content: "\e314" +} + +.icon-setting-wrenches:before { + content: "\e315" +} + +.icon-switch-1:before { + content: "\e316" +} + +.icon-switch-2:before { + content: "\e317" +} + +.icon-wrench:before { + content: "\e318" +} + +.icon-alarm-1:before { + content: "\e319" +} + +.icon-alarm-clock:before { + content: "\e31a" +} + +.icon-alarm-no:before { + content: "\e31b" +} + +.icon-alarm-snooze:before { + content: "\e31c" +} + +.icon-bell:before { + content: "\e31d" +} + +.icon-calendar-1:before { + content: "\e31e" +} + +.icon-calendar-2:before { + content: "\e31f" +} + +.icon-clock-1:before { + content: "\e320" +} + +.icon-clock-2:before { + content: "\e321" +} + +.icon-clock-3:before { + content: "\e322" +} + +.icon-hourglass-1:before { + content: "\e323" +} + +.icon-hourglass-2:before { + content: "\e324" +} + +.icon-timer-1:before { + content: "\e325" +} + +.icon-timer-3-quarter-1:before { + content: "\e326" +} + +.icon-timer-3-quarter-2:before { + content: "\e327" +} + +.icon-timer-full-1:before { + content: "\e328" +} + +.icon-timer-full-2:before { + content: "\e329" +} + +.icon-timer-half-1:before { + content: "\e32a" +} + +.icon-timer-half-2:before { + content: "\e32b" +} + +.icon-timer-half-3:before { + content: "\e32c" +} + +.icon-timer-half-4:before { + content: "\e32d" +} + +.icon-timer-quarter-1:before { + content: "\e32e" +} + +.icon-timer-quarter-2:before { + content: "\e32f" +} + +.icon-watch-1:before { + content: "\e330" +} + +.icon-watch-2:before { + content: "\e331" +} + +.icon-alert-1:before { + content: "\e332" +} + +.icon-alert-2:before { + content: "\e333" +} + +.icon-alert-3:before { + content: "\e334" +} + +.icon-information:before { + content: "\e335" +} + +.icon-nuclear-1:before { + content: "\e336" +} + +.icon-nuclear-2:before { + content: "\e337" +} + +.icon-question-mark:before { + content: "\e338" +} + +.icon-abacus:before { + content: "\e339" +} + +.icon-amex-card:before { + content: "\e33a" +} + +.icon-atm:before { + content: "\e33b" +} + +.icon-balance:before { + content: "\e33c" +} + +.icon-bank-1:before { + content: "\e33d" +} + +.icon-bank-2:before { + content: "\e33e" +} + +.icon-bank-note:before { + content: "\e33f" +} + +.icon-bank-notes-1:before { + content: "\e340" +} + +.icon-bank-notes-2:before { + content: "\e341" +} + +.icon-bitcoins:before { + content: "\e342" +} + +.icon-board-1:before { + content: "\e343" +} + +.icon-box-1:before { + content: "\e344" +} + +.icon-box-2:before { + content: "\e345" +} + +.icon-box-3:before { + content: "\e346" +} + +.icon-box-download:before { + content: "\e347" +} + +.icon-box-shipping:before { + content: "\e348" +} + +.icon-box-upload:before { + content: "\e349" +} + +.icon-business-chart-1:before { + content: "\e34a" +} + +.icon-business-chart-2:before { + content: "\e34b" +} + +.icon-calculator-1:before { + content: "\e34c" +} + +.icon-calculator-2:before { + content: "\e34d" +} + +.icon-calculator-3:before { + content: "\e34e" +} + +.icon-cash-register:before { + content: "\e34f" +} + +.icon-chart-board:before { + content: "\e350" +} + +.icon-chart-down:before { + content: "\e351" +} + +.icon-chart-up:before { + content: "\e352" +} + +.icon-check:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Yes.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.icon-coins-1:before { + content: "\e354" +} + +.icon-coins-2:before { + content: "\e355" +} + +.icon-court:before { + content: "\e356" +} + +.icon-credit-card:before { + content: "\e357" +} + +.icon-credit-card-lock:before { + content: "\e358" +} + +.icon-delivery:before { + content: "\e359" +} + +.icon-dollar-bag:before { + content: "\e35a" +} + +.icon-dollar-currency-1:before { + content: "\e35b" +} + +.icon-dollar-currency-2:before { + content: "\e35c" +} + +.icon-dollar-currency-3:before { + content: "\e35d" +} + +.icon-dollar-currency-4:before { + content: "\e35e" +} + +.icon-euro-bag:before { + content: "\e35f" +} + +.icon-euro-currency-1:before { + content: "\e360" +} + +.icon-euro-currency-2:before { + content: "\e361" +} + +.icon-euro-currency-3:before { + content: "\e362" +} + +.icon-euro-currency-4:before { + content: "\e363" +} + +.icon-forklift:before { + content: "\e364" +} + +.icon-hand-card:before { + content: "\e365" +} + +.icon-hand-coin:before { + content: "\e366" +} + +.icon-keynote:before { + content: "\e367" +} + +.icon-master-card:before { + content: "\e368" +} + +.icon-money:before { + content: "\e369" +} + +.icon-parking-meter:before { + content: "\e36a" +} + +.icon-percent-1:before { + content: "\e36b" +} + +.icon-percent-2:before { + content: "\e36c" +} + +.icon-percent-3:before { + content: "\e36d" +} + +.icon-percent-4:before { + content: "\e36e" +} + +.icon-percent-5:before { + content: "\e36f" +} + +.icon-percent-up:before { + content: "\e370" +} + +.icon-pie-chart-1:before { + content: "\e371" +} + +.icon-pie-chart-2:before { + content: "\e372" +} + +.icon-piggy-bank:before { + content: "\e373" +} + +.icon-pound-currency-1:before { + content: "\e374" +} + +.icon-pound-currency-2:before { + content: "\e375" +} + +.icon-pound-currency-3:before { + content: "\e376" +} + +.icon-pound-currency-4:before { + content: "\e377" +} + +.icon-safe-1:before { + content: "\e378" +} + +.icon-safe-2:before { + content: "\e379" +} + +.icon-shop:before { + content: "\e37a" +} + +.icon-sign:before { + content: "\e37b" +} + +.icon-trolley:before { + content: "\e37c" +} + +.icon-truck-1:before { + content: "\e37d" +} + +.icon-truck-2:before { + content: "\e37e" +} + +.icon-visa-card:before { + content: "\e37f" +} + +.icon-yen-currency-1:before { + content: "\e380" +} + +.icon-yen-currency-2:before { + content: "\e381" +} + +.icon-yen-currency-3:before { + content: "\e382" +} + +.icon-yen-currency-4:before { + content: "\e383" +} + +.icon-add-marker-1:before { + content: "\e384" +} + +.icon-add-marker-2:before { + content: "\e385" +} + +.icon-add-marker-3:before { + content: "\e386" +} + +.icon-add-marker-4:before { + content: "\e387" +} + +.icon-add-marker-5:before { + content: "\e388" +} + +.icon-compass-1:before { + content: "\e389" +} + +.icon-compass-2:before { + content: "\e38a" +} + +.icon-compass-3:before { + content: "\e38b" +} + +.icon-delete-marker-1:before { + content: "\e38c" +} + +.icon-delete-marker-2:before { + content: "\e38d" +} + +.icon-delete-marker-3:before { + content: "\e38e" +} + +.icon-delete-marker-4:before { + content: "\e38f" +} + +.icon-delete-marker-5:before { + content: "\e390" +} + +.icon-favorite-marker:before { + content: "\e391" +} + +.icon-favorite-marker-1:before { + content: "\e392" +} + +.icon-favorite-marker-2:before { + content: "\e393" +} + +.icon-favorite-marker-3:before { + content: "\e394" +} + +.icon-globe:before { + content: "\e395" +} + +.icon-location:before { + content: "\e396" +} + +.icon-map-1:before { + content: "\e397" +} + +.icon-map-location:before { + content: "\e398" +} + +.icon-map-marker-1:before { + content: "\e399" +} + +.icon-map-marker-2:before { + content: "\e39a" +} + +.icon-map-marker-3:before { + content: "\e39b" +} + +.icon-map-marker-4:before { + content: "\e39c" +} + +.icon-map-pin:before { + content: "\e39d" +} + +.icon-map-pin-marker:before { + content: "\e39e" +} + +.icon-marker-1:before { + content: "\e39f" +} + +.icon-marker-2:before { + content: "\e3a0" +} + +.icon-marker-3:before { + content: "\e3a1" +} + +.icon-marker-4:before { + content: "\e3a2" +} + +.icon-minus-marker-1:before { + content: "\e3a3" +} + +.icon-minus-marker-2:before { + content: "\e3a4" +} + +.icon-minus-marker-3:before { + content: "\e3a5" +} + +.icon-minus-marker-4:before { + content: "\e3a6" +} + +.icon-pin-1-1:before { + content: "\e3a7" +} + +.icon-pin-2-1:before { + content: "\e3a8" +} + +.icon-pin-location:before { + content: "\e3a9" +} + +.icon-anchor:before { + content: "\e3aa" +} + +.icon-bank:before { + content: "\e3ab" +} + +.icon-beach:before { + content: "\e3ac" +} + +.icon-boat:before { + content: "\e3ad" +} + +.icon-building-1:before { + content: "\e3ae" +} + +.icon-building-2:before { + content: "\e3af" +} + +.icon-building-3:before { + content: "\e3b0" +} + +.icon-buildings-1:before { + content: "\e3b1" +} + +.icon-buildings-2:before { + content: "\e3b2" +} + +.icon-buildings-3:before { + content: "\e3b3" +} + +.icon-buildings-4:before { + content: "\e3b4" +} + +.icon-castle:before { + content: "\e3b5" +} + +.icon-column:before { + content: "\e3b6" +} + +.icon-direction-sign:before { + content: "\e3b7" +} + +.icon-factory:before { + content: "\e3b8" +} + +.icon-fence:before { + content: "\e3b9" +} + +.icon-garage:before { + content: "\e3ba" +} + +.icon-globe-1:before { + content: "\e3bb" +} + +.icon-globe-2:before { + content: "\e3bc" +} + +.icon-house-1:before { + content: "\e3bd" +} + +.icon-house-2:before { + content: "\e3be" +} + +.icon-house-3:before { + content: "\e3bf" +} + +.icon-house-4:before { + content: "\e3c0" +} + +.icon-library:before { + content: "\e3c1" +} + +.icon-light-house:before { + content: "\e3c2" +} + +.icon-pine-tree:before { + content: "\e3c3" +} + +.icon-pisa:before { + content: "\e3c4" +} + +.icon-skyscraper:before { + content: "\e3c5" +} + +.icon-temple:before { + content: "\e3c6" +} + +.icon-treasure-map:before { + content: "\e3c7" +} + +.icon-tree:before { + content: "\e3c8" +} + +.icon-attention:before { + content: "\e3c9" +} + +.icon-bug-1:before { + content: "\e3ca" +} + +.icon-bug-2:before { + content: "\e3cb" +} + +.icon-css3:before { + content: "\e3cc" +} + +.icon-firewall:before { + content: "\e3cd" +} + +.icon-html5:before { + content: "\e3ce" +} + +.icon-plugin-1:before { + content: "\e3cf" +} + +.icon-plugin-2:before { + content: "\e3d0" +} + +.icon-script:before { + content: "\e3d1" +} + +.icon-new-window:before { + content: "\e3d2" +} + +.icon-window-1:before { + content: "\e3d3" +} + +.icon-window-2:before { + content: "\e3d4" +} + +.icon-window-3:before { + content: "\e3d5" +} + +.icon-window-add:before { + content: "\e3d6" +} + +.icon-window-alert:before { + content: "\e3d7" +} + +.icon-window-check:before { + content: "\e3d8" +} + +.icon-window-code-1:before { + content: "\e3d9" +} + +.icon-window-code-2:before { + content: "\e3da" +} + +.icon-window-code-3:before { + content: "\e3db" +} + +.icon-window-column:before { + content: "\e3dc" +} + +.icon-window-delete:before { + content: "\e3dd" +} + +.icon-window-denied:before { + content: "\e3de" +} + +.icon-window-download-1:before { + content: "\e3df" +} + +.icon-window-download-2:before { + content: "\e3e0" +} + +.icon-window-edit:before { + content: "\e3e1" +} + +.icon-window-favorite-1:before { + content: "\e3e2" +} + +.icon-window-favorite-2:before { + content: "\e3e3" +} + +.icon-window-graph-1:before { + content: "\e3e4" +} + +.icon-window-graph-2:before { + content: "\e3e5" +} + +.icon-window-hand:before { + content: "\e3e6" +} + +.icon-window-home:before { + content: "\e3e7" +} + +.icon-window-list-1:before { + content: "\e3e8" +} + +.icon-window-list-2:before { + content: "\e3e9" +} + +.icon-window-lock:before { + content: "\e3ea" +} + +.icon-window-minimize:before { + content: "\e3eb" +} + +.icon-window-minus:before { + content: "\e3ec" +} + +.icon-window-refresh:before { + content: "\e3ed" +} + +.icon-window-registry:before { + content: "\e3ee" +} + +.icon-window-search:before { + content: "\e3ef" +} + +.icon-window-selection-1:before { + content: "\e3f0" +} + +.icon-window-selection-2:before { + content: "\e3f1" +} + +.icon-window-setting:before { + content: "\e3f2" +} + +.icon-window-sync:before { + content: "\e3f3" +} + +.icon-window-thumbnail-1:before { + content: "\e3f4" +} + +.icon-window-thumbnail-2:before { + content: "\e3f5" +} + +.icon-window-time:before { + content: "\e3f6" +} + +.icon-window-upload-1:before { + content: "\e3f7" +} + +.icon-window-upload-2:before { + content: "\e3f8" +} + +.icon-database:before { + content: "\e3f9" +} + +.icon-database-alert:before { + content: "\e3fa" +} + +.icon-database-block:before { + content: "\e3fb" +} + +.icon-database-check:before { + content: "\e3fc" +} + +.icon-database-delete:before { + content: "\e3fd" +} + +.icon-database-download:before { + content: "\e3fe" +} + +.icon-database-editor:before { + content: "\e3ff" +} + +.icon-database-lock:before { + content: "\e400" +} + +.icon-database-minus:before { + content: "\e401" +} + +.icon-database-network:before { + content: "\e402" +} + +.icon-database-plus:before { + content: "\e403" +} + +.icon-database-refresh:before { + content: "\e404" +} + +.icon-database-search:before { + content: "\e405" +} + +.icon-database-setting:before { + content: "\e406" +} + +.icon-database-sync:before { + content: "\e407" +} + +.icon-database-time:before { + content: "\e408" +} + +.icon-database-upload:before { + content: "\e409" +} + +.icon-battery-charging:before { + content: "\e40a" +} + +.icon-battery-full:before { + content: "\e40b" +} + +.icon-battery-high:before { + content: "\e40c" +} + +.icon-battery-low:before { + content: "\e40d" +} + +.icon-battery-medium:before { + content: "\e40e" +} + +.icon-cd-1:before { + content: "\e40f" +} + +.icon-cd-2:before { + content: "\e410" +} + +.icon-chip:before { + content: "\e411" +} + +.icon-computer:before { + content: "\e412" +} + +.icon-disc:before { + content: "\e413" +} + +.icon-filter:before { + content: "\e414" +} + +.icon-floppy-disk:before { + content: "\e415" +} + +.icon-gameboy:before { + content: "\e416" +} + +.icon-harddisk-1:before { + content: "\e417" +} + +.icon-harddisk-2:before { + content: "\e418" +} + +.icon-imac:before { + content: "\e419" +} + +.icon-ipad-1:before { + content: "\e41a" +} + +.icon-ipad-2:before { + content: "\e41b" +} + +.icon-ipod:before { + content: "\e41c" +} + +.icon-joystick-1:before { + content: "\e41d" +} + +.icon-joystick-2:before { + content: "\e41e" +} + +.icon-joystick-3:before { + content: "\e41f" +} + +.icon-keyboard-1:before { + content: "\e420" +} + +.icon-keyboard-2:before { + content: "\e421" +} + +.icon-kindle-1:before { + content: "\e422" +} + +.icon-kindle-2:before { + content: "\e423" +} + +.icon-laptop-1:before { + content: "\e424" +} + +.icon-laptop-2:before { + content: "\e425" +} + +.icon-memory-card:before { + content: "\e426" +} + +.icon-mobile-phone:before { + content: "\e427" +} + +.icon-mouse-1:before { + content: "\e428" +} + +.icon-mouse-2:before { + content: "\e429" +} + +.icon-mp3player:before { + content: "\e42a" +} + +.icon-plug-1:before { + content: "\e42b" +} + +.icon-plug-2:before { + content: "\e42c" +} + +.icon-plug-slot:before { + content: "\e42d" +} + +.icon-printer:before { + content: "\e42e" +} + +.icon-projector:before { + content: "\e42f" +} + +.icon-remote:before { + content: "\e430" +} + +.icon-router:before { + content: "\e431" +} + +.icon-screen-1:before { + content: "\e432" +} + +.icon-screen-2:before { + content: "\e433" +} + +.icon-screen-3:before { + content: "\e434" +} + +.icon-screen-4:before { + content: "\e435" +} + +.icon-smartphone-1:before { + content: "\e436" +} + +.icon-television-1:before { + content: "\e437" +} + +.icon-typewriter-1:before { + content: "\e438" +} + +.icon-typewriter-2:before { + content: "\e439" +} + +.icon-usb-1:before { + content: "\e43a" +} + +.icon-usb-2:before { + content: "\e43b" +} + +.icon-webcam:before { + content: "\e43c" +} + +.icon-wireless-router-1:before { + content: "\e43d" +} + +.icon-wireless-router-2:before { + content: "\e43e" +} + +.icon-bluetooth:before { + content: "\e43f" +} + +.icon-ethernet:before { + content: "\e440" +} + +.icon-ethernet-slot:before { + content: "\e441" +} + +.icon-firewire-1:before { + content: "\e442" +} + +.icon-firewire-2:before { + content: "\e443" +} + +.icon-network-1:before { + content: "\e444" +} + +.icon-network-2:before { + content: "\e445" +} + +.icon-server-1:before { + content: "\e446" +} + +.icon-server-2:before { + content: "\e447" +} + +.icon-server-3:before { + content: "\e448" +} + +.icon-usb:before { + content: "\e449" +} + +.icon-wireless-signal:before { + content: "\e44a" +} + +.icon-book:before { + content: "\e44b" +} + +.icon-book-1:before { + content: "\e44c" +} + +.icon-book-2:before { + content: "\e44d" +} + +.icon-book-3:before { + content: "\e44e" +} + +.icon-book-4:before { + content: "\e44f" +} + +.icon-book-5:before { + content: "\e450" +} + +.icon-book-6:before { + content: "\e451" +} + +.icon-book-7:before { + content: "\e452" +} + +.icon-book-download-1:before { + content: "\e453" +} + +.icon-book-download-2:before { + content: "\e454" +} + +.icon-book-favorite-1:before { + content: "\e455" +} + +.icon-bookmark-1-1:before { + content: "\e456" +} + +.icon-bookmark-2-1:before { + content: "\e457" +} + +.icon-bookmark-3-1:before { + content: "\e458" +} + +.icon-bookmark-4-1:before { + content: "\e459" +} + +.icon-books-1:before { + content: "\e45a" +} + +.icon-books-2:before { + content: "\e45b" +} + +.icon-books-3:before { + content: "\e45c" +} + +.icon-briefcase-1:before { + content: "\e45d" +} + +.icon-contact-book-1:before { + content: "\e45e" +} + +.icon-contact-book-2:before { + content: "\e45f" +} + +.icon-contact-book-3:before { + content: "\e460" +} + +.icon-contact-book-4:before { + content: "\e461" +} + +.icon-copyright:before { + content: "\e462" +} + +.icon-creative-commons:before { + content: "\e463" +} + +.icon-cube:before { + content: "\e464" +} + +.icon-data-filter:before { + content: "\e465" +} + +.icon-document-box-1:before { + content: "\e466" +} + +.icon-document-box-2:before { + content: "\e467" +} + +.icon-document-box-3:before { + content: "\e468" +} + +.icon-drawer-1:before { + content: "\e469" +} + +.icon-drawer-2:before { + content: "\e46a" +} + +.icon-drawer-3:before { + content: "\e46b" +} + +.icon-envelope:before { + content: "\e46c" +} + +.icon-favortie-book-2:before { + content: "\e46d" +} + +.icon-file:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/File.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.icon-files:before { + content: "\e46f" +} + +.icon-filter-1:before { + content: "\e470" +} + +.icon-filter-2:before { + content: "\e471" +} + +.icon-layers-1:before { + content: "\e472" +} + +.icon-list-1:before { + content: "\e473" +} + +.icon-list-2:before { + content: "\e474" +} + +.icon-newspaper-1:before { + content: "\e475" +} + +.icon-newspaper-2:before { + content: "\e476" +} + +.icon-registry-1:before { + content: "\e477" +} + +.icon-registry-2:before { + content: "\e478" +} + +.icon-shield-1:before { + content: "\e479" +} + +.icon-shield-2:before { + content: "\e47a" +} + +.icon-shield-3:before { + content: "\e47b" +} + +.icon-sketchbook:before { + content: "\e47c" +} + +.icon-sound-book:before { + content: "\e47d" +} + +.icon-thumbnails-1:before { + content: "\e47e" +} + +.icon-thumbnails-2:before { + content: "\e47f" +} + +.icon-hierarchy-1:before { + content: "\e480" +} + +.icon-hierarchy-2:before { + content: "\e481" +} + +.icon-hierarchy-3:before { + content: "\e482" +} + +.icon-hierarchy-4:before { + content: "\e483" +} + +.icon-hierarchy-5:before { + content: "\e484" +} + +.icon-hierarchy-6:before { + content: "\e485" +} + +.icon-hierarchy-7:before { + content: "\e486" +} + +.icon-hierarchy-8:before { + content: "\e487" +} + +.icon-network-1-1:before { + content: "\e488" +} + +.icon-network-2-1:before { + content: "\e489" +} + +.icon-backpack:before { + content: "\e48a" +} + +.icon-balance-1:before { + content: "\e48b" +} + +.icon-bed:before { + content: "\e48c" +} + +.icon-bench:before { + content: "\e48d" +} + +.icon-bomb-1:before { + content: "\e48e" +} + +.icon-bricks:before { + content: "\e48f" +} + +.icon-bullets:before { + content: "\e490" +} + +.icon-buoy-ring:before { + content: "\e491" +} + +.icon-campfire:before { + content: "\e492" +} + +.icon-can:before { + content: "\e493" +} + +.icon-candle:before { + content: "\e494" +} + +.icon-canon:before { + content: "\e495" +} + +.icon-cctv-1:before { + content: "\e496" +} + +.icon-cctv-2:before { + content: "\e497" +} + +.icon-chair:before { + content: "\e498" +} + +.icon-chair-director:before { + content: "\e499" +} + +.icon-cigarette:before { + content: "\e49a" +} + +.icon-construction-sign:before { + content: "\e49b" +} + +.icon-diamond:before { + content: "\e49c" +} + +.icon-disabled:before { + content: "\e49d" +} + +.icon-door:before { + content: "\e49e" +} + +.icon-drawer:before { + content: "\e49f" +} + +.icon-driller:before { + content: "\e4a0" +} + +.icon-dumbbell:before { + content: "\e4a1" +} + +.icon-fire-extinguisher:before { + content: "\e4a2" +} + +.icon-flashlight:before { + content: "\e4a3" +} + +.icon-gas-station:before { + content: "\e4a4" +} + +.icon-gun:before { + content: "\e4a5" +} + +.icon-lamp-1:before { + content: "\e4a6" +} + +.icon-lamp-2:before { + content: "\e4a7" +} + +.icon-lamp-3:before { + content: "\e4a8" +} + +.icon-lamp-4:before { + content: "\e4a9" +} + +.icon-lightbulb-1:before { + content: "\e4aa" +} + +.icon-lightbulb-2:before { + content: "\e4ab" +} + +.icon-measuring-tape:before { + content: "\e4ac" +} + +.icon-mine-cart:before { + content: "\e4ad" +} + +.icon-missile:before { + content: "\e4ae" +} + +.icon-ring:before { + content: "\e4af" +} + +.icon-scale-1:before { + content: "\e4b0" +} + +.icon-shovel:before { + content: "\e4b1" +} + +.icon-smoke-no:before { + content: "\e4b2" +} + +.icon-sofa-1:before { + content: "\e4b3" +} + +.icon-sofa-2:before { + content: "\e4b4" +} + +.icon-sofa-3:before { + content: "\e4b5" +} + +.icon-target:before { + content: "\e4b6" +} + +.icon-torch:before { + content: "\e4b7" +} + +.icon-traffic-cone:before { + content: "\e4b8" +} + +.icon-traffic-light-1:before { + content: "\e4b9" +} + +.icon-traffic-light-2:before { + content: "\e4ba" +} + +.icon-treasure-1:before { + content: "\e4bb" +} + +.icon-treasure-2:before { + content: "\e4bc" +} + +.icon-trowel:before { + content: "\e4bd" +} + +.icon-watering-can:before { + content: "\e4be" +} + +.icon-weigh:before { + content: "\e4bf" +} + +.icon-academic-cap:before { + content: "\e4c0" +} + +.icon-baseball-helmet:before { + content: "\e4c1" +} + +.icon-beanie:before { + content: "\e4c2" +} + +.icon-bike-helmet:before { + content: "\e4c3" +} + +.icon-bow:before { + content: "\e4c4" +} + +.icon-cap:before { + content: "\e4c5" +} + +.icon-chaplin:before { + content: "\e4c6" +} + +.icon-chef-hat:before { + content: "\e4c7" +} + +.icon-cloth-hanger:before { + content: "\e4c8" +} + +.icon-fins:before { + content: "\e4c9" +} + +.icon-football-helmet:before { + content: "\e4ca" +} + +.icon-glasses:before { + content: "\e4cb" +} + +.icon-glasses-1:before { + content: "\e4cc" +} + +.icon-glasses-2:before { + content: "\e4cd" +} + +.icon-magician-hat:before { + content: "\e4ce" +} + +.icon-monocle-1:before { + content: "\e4cf" +} + +.icon-monocle-2:before { + content: "\e4d0" +} + +.icon-necktie:before { + content: "\e4d1" +} + +.icon-polo-shirt:before { + content: "\e4d2" +} + +.icon-safety-helmet:before { + content: "\e4d3" +} + +.icon-scuba-tank:before { + content: "\e4d4" +} + +.icon-shirt-1:before { + content: "\e4d5" +} + +.icon-shirt-2:before { + content: "\e4d6" +} + +.icon-sneakers:before { + content: "\e4d7" +} + +.icon-snorkel:before { + content: "\e4d8" +} + +.icon-sombrero:before { + content: "\e4d9" +} + +.icon-sunglasses:before { + content: "\e4da" +} + +.icon-tall-hat:before { + content: "\e4db" +} + +.icon-trousers:before { + content: "\e4dc" +} + +.icon-walking-stick:before { + content: "\e4dd" +} + +.icon-arrow-redo:before { + content: "\e4de" +} + +.icon-arrow-undo:before { + content: "\e4df" +} + +.icon-bold:before { + content: "\e4e0" +} + +.icon-columns:before { + content: "\e4e1" +} + +.icon-eraser:before { + content: "\e4e2" +} + +.icon-font-color:before { + content: "\e4e3" +} + +.icon-html:before { + content: "\e4e4" +} + +.icon-italic:before { + content: "\e4e5" +} + +.icon-list-1-1:before { + content: "\e4e6" +} + +.icon-list-2-1:before { + content: "\e4e7" +} + +.icon-list-3:before { + content: "\e4e8" +} + +.icon-list-4:before { + content: "\e4e9" +} + +.icon-paragraph:before { + content: "\e4ea" +} + +.icon-paste:before { + content: "\e4eb" +} + +.icon-print-preview:before { + content: "\e4ec" +} + +.icon-quote:before { + content: "\e4ed" +} + +.icon-strikethrough:before { + content: "\e4ee" +} + +.icon-text:before { + content: "\e4ef" +} + +.icon-text-wrapping-1:before { + content: "\e4f0" +} + +.icon-text-wrapping-2:before { + content: "\e4f1" +} + +.icon-text-wrapping-3:before { + content: "\e4f2" +} + +.icon-underline:before { + content: "\e4f3" +} + +.icon-align-center:before { + content: "\e4f4" +} + +.icon-align-left:before { + content: "\e4f5" +} + +.icon-align-right:before { + content: "\e4f6" +} + +.icon-all-caps:before { + content: "\e4f7" +} + +.icon-arrange-2-1:before { + content: "\e4f8" +} + +.icon-arrange-2-2:before { + content: "\e4f9" +} + +.icon-arrange-2-3:before { + content: "\e4fa" +} + +.icon-arrange-2-4:before { + content: "\e4fb" +} + +.icon-arrange-3-1:before { + content: "\e4fc" +} + +.icon-arrange-3-2:before { + content: "\e4fd" +} + +.icon-arrange-3-3:before { + content: "\e4fe" +} + +.icon-arrange-3-4:before { + content: "\e4ff" +} + +.icon-arrange-3-5:before { + content: "\e500" +} + +.icon-arrange-4-1:before { + content: "\e501" +} + +.icon-arrange-4-2:before { + content: "\e502" +} + +.icon-arrange-4-3:before { + content: "\e503" +} + +.icon-arrange-5:before { + content: "\e504" +} + +.icon-consolidate-all:before { + content: "\e505" +} + +.icon-decrease-indent-1:before { + content: "\e506" +} + +.icon-decrease-indent-2:before { + content: "\e507" +} + +.icon-horizontal-page:before { + content: "\e508" +} + +.icon-increase-indent-1:before { + content: "\e509" +} + +.icon-increase-indent-2:before { + content: "\e50a" +} + +.icon-justify:before { + content: "\e50b" +} + +.icon-leading-1:before { + content: "\e50c" +} + +.icon-leading-2:before { + content: "\e50d" +} + +.icon-left-indent:before { + content: "\e50e" +} + +.icon-right-indent:before { + content: "\e50f" +} + +.icon-small-caps:before { + content: "\e510" +} + +.icon-vertical-page:before { + content: "\e511" +} + +.icon-alt-mac:before { + content: "\e512" +} + +.icon-alt-windows:before { + content: "\e513" +} + +.icon-arrow-down:before { + content: "\e5f7" +} + +.icon-arrow-down-left:before { + content: "\e515" +} + +.icon-arrow-down-right:before { + content: "\e516" +} + +.icon-arrow-left:before { + content: "\e517" +} + +.icon-arrow-right:before { + content: "\e518" +} + +.icon-arrow-up:before { + content: "\e5f6" +} + +.icon-arrow-up-left:before { + content: "\e51a" +} + +.icon-arrow-up-right:before { + content: "\e51b" +} + +.icon-asterisk-1:before { + content: "\e51c" +} + +.icon-asterisk-2:before { + content: "\e51d" +} + +.icon-back-tab-1:before { + content: "\e51e" +} + +.icon-back-tab-2:before { + content: "\e51f" +} + +.icon-backward-delete:before { + content: "\e520" +} + +.icon-blank:before { + content: "\e521" +} + +.icon-eject:before { + content: "\e522" +} + +.icon-enter-1:before { + content: "\e523" +} + +.icon-enter-2:before { + content: "\e524" +} + +.icon-escape:before { + content: "\e525" +} + +.icon-page-down:before { + content: "\e526" +} + +.icon-page-up:before { + content: "\e527" +} + +.icon-return-1:before { + content: "\e528" +} + +.icon-shift:before { + content: "\e529" +} + +.icon-shift-2:before { + content: "\e52a" +} + +.icon-tab:before { + content: "\e52b" +} + +.icon-apple:before { + content: "\e52c" +} + +.icon-beer:before { + content: "\e52d" +} + +.icon-boil:before { + content: "\e52e" +} + +.icon-bottle-1:before { + content: "\e52f" +} + +.icon-bottle-2:before { + content: "\e530" +} + +.icon-bottle-3:before { + content: "\e531" +} + +.icon-bottle-4:before { + content: "\e532" +} + +.icon-bread:before { + content: "\e533" +} + +.icon-burger-1:before { + content: "\e534" +} + +.icon-burger-2:before { + content: "\e535" +} + +.icon-cake-1:before { + content: "\e536" +} + +.icon-cake-2:before { + content: "\e537" +} + +.icon-champagne:before { + content: "\e538" +} + +.icon-cheese:before { + content: "\e539" +} + +.icon-cocktail-1:before { + content: "\e53a" +} + +.icon-cocktail-2:before { + content: "\e53b" +} + +.icon-cocktail-3:before { + content: "\e53c" +} + +.icon-coffee-cup:before { + content: "\e53d" +} + +.icon-coffee-cup-1:before { + content: "\e53e" +} + +.icon-coffee-pot:before { + content: "\e53f" +} + +.icon-deep-fry:before { + content: "\e540" +} + +.icon-energy-drink:before { + content: "\e541" +} + +.icon-espresso-machine:before { + content: "\e542" +} + +.icon-food-dome:before { + content: "\e543" +} + +.icon-fork-and-knife:before { + content: "\e544" +} + +.icon-fork-and-spoon:before { + content: "\e545" +} + +.icon-grape:before { + content: "\e546" +} + +.icon-grater:before { + content: "\e547" +} + +.icon-grill:before { + content: "\e548" +} + +.icon-hot-drinks-glass:before { + content: "\e549" +} + +.icon-hotdog:before { + content: "\e54a" +} + +.icon-ice-cream-1:before { + content: "\e54b" +} + +.icon-ice-cream-2:before { + content: "\e54c" +} + +.icon-ice-cream-3:before { + content: "\e54d" +} + +.icon-ice-drinks-glass:before { + content: "\e54e" +} + +.icon-juicer:before { + content: "\e54f" +} + +.icon-kitchen-timer:before { + content: "\e550" +} + +.icon-milk:before { + content: "\e551" +} + +.icon-orange:before { + content: "\e552" +} + +.icon-oven:before { + content: "\e553" +} + +.icon-pan-fry:before { + content: "\e554" +} + +.icon-pepper-salt:before { + content: "\e555" +} + +.icon-pizza:before { + content: "\e556" +} + +.icon-pop-corn:before { + content: "\e557" +} + +.icon-serving:before { + content: "\e558" +} + +.icon-soda:before { + content: "\e559" +} + +.icon-soda-can-1:before { + content: "\e55a" +} + +.icon-soda-can-2:before { + content: "\e55b" +} + +.icon-steam:before { + content: "\e55c" +} + +.icon-tea-pot:before { + content: "\e55d" +} + +.icon-thermometer-high:before { + content: "\e55e" +} + +.icon-thermometer-low:before { + content: "\e55f" +} + +.icon-thermometer-medium:before { + content: "\e560" +} + +.icon-water:before { + content: "\e561" +} + +.icon-wine:before { + content: "\e562" +} + +.icon-ambulance:before { + content: "\e563" +} + +.icon-beaker-1:before { + content: "\e564" +} + +.icon-beaker-2:before { + content: "\e565" +} + +.icon-blood:before { + content: "\e566" +} + +.icon-drug:before { + content: "\e567" +} + +.icon-first-aid:before { + content: "\e568" +} + +.icon-hashish:before { + content: "\e569" +} + +.icon-heart-pulse:before { + content: "\e56a" +} + +.icon-hospital-1:before { + content: "\e56b" +} + +.icon-hospital-2:before { + content: "\e56c" +} + +.icon-hospital-sign-1:before { + content: "\e56d" +} + +.icon-hospital-sign-2:before { + content: "\e56e" +} + +.icon-hospital-sign-3:before { + content: "\e56f" +} + +.icon-medicine:before { + content: "\e570" +} + +.icon-microscope:before { + content: "\e571" +} + +.icon-mortar-and-pestle:before { + content: "\e572" +} + +.icon-plaster:before { + content: "\e573" +} + +.icon-pulse-graph-1:before { + content: "\e574" +} + +.icon-pulse-graph-2:before { + content: "\e575" +} + +.icon-pulse-graph-3:before { + content: "\e576" +} + +.icon-red-cross:before { + content: "\e577" +} + +.icon-stethoscope:before { + content: "\e578" +} + +.icon-syringe:before { + content: "\e579" +} + +.icon-yin-yang:before { + content: "\e57a" +} + +.icon-balloon:before { + content: "\e57b" +} + +.icon-briefcase-lock:before { + content: "\e57c" +} + +.icon-card:before { + content: "\e57d" +} + +.icon-cards-1:before { + content: "\e57e" +} + +.icon-cards-2:before { + content: "\e57f" +} + +.icon-curtain:before { + content: "\e580" +} + +.icon-dice-1:before { + content: "\e581" +} + +.icon-dice-2:before { + content: "\e582" +} + +.icon-pacman:before { + content: "\e583" +} + +.icon-pacman-ghost:before { + content: "\e584" +} + +.icon-sign-1:before { + content: "\e585" +} + +.icon-smiley-happy:before { + content: "\e586" +} + +.icon-smiley-sad:before { + content: "\e0e6" +} + +.icon-smiley-relax:before { + content: "\e0e5" +} + +.icon-smileys:before { + content: "\e588" +} + +.icon-suitcase-1:before { + content: "\e589" +} + +.icon-suitcase-2:before { + content: "\e58a" +} + +.icon-tetris:before { + content: "\e58b" +} + +.icon-ticket-1:before { + content: "\e58c" +} + +.icon-ticket-2:before { + content: "\e58d" +} + +.icon-ticket-3:before { + content: "\e58e" +} + +.icon-virus:before { + content: "\e58f" +} + +.icon-cloud-1:before { + content: "\e590" +} + +.icon-cloud-lightning:before { + content: "\e591" +} + +.icon-clouds:before { + content: "\e592" +} + +.icon-first-quarter-half-moon:before { + content: "\e593" +} + +.icon-full-moon:before { + content: "\e594" +} + +.icon-hail:before { + content: "\e595" +} + +.icon-heavy-rain:before { + content: "\e596" +} + +.icon-moon-cloud:before { + content: "\e597" +} + +.icon-rain:before { + content: "\e598" +} + +.icon-rain-lightning:before { + content: "\e599" +} + +.icon-snow:before { + content: "\e59a" +} + +.icon-sun:before { + content: "\e59b" +} + +.icon-sun-cloud:before { + content: "\e59c" +} + +.icon-thermometer:before { + content: "\e59d" +} + +.icon-third-quarter-half-moon:before { + content: "\e59e" +} + +.icon-umbrella:before { + content: "\e59f" +} + +.icon-waning-crescent-moon:before { + content: "\e5a0" +} + +.icon-waning-gibbous-moon:before { + content: "\e5a1" +} + +.icon-waxing-crescent-moon:before { + content: "\e5a2" +} + +.icon-waxing-gibbous-moon:before { + content: "\e5a3" +} + +.icon-bicycle:before { + content: "\e5a4" +} + +.icon-bus-1:before { + content: "\e5a5" +} + +.icon-bus-2:before { + content: "\e5a6" +} + +.icon-car-1:before { + content: "\e5a7" +} + +.icon-car-2:before { + content: "\e5a8" +} + +.icon-car-3:before { + content: "\e5a9" +} + +.icon-car-4:before { + content: "\e5aa" +} + +.icon-helicopter:before { + content: "\e5ab" +} + +.icon-mountain-bike:before { + content: "\e5ac" +} + +.icon-pickup:before { + content: "\e5ad" +} + +.icon-plane-1:before { + content: "\e5ae" +} + +.icon-plane-2:before { + content: "\e5af" +} + +.icon-plane-landing:before { + content: "\e5b0" +} + +.icon-plane-takeoff:before { + content: "\e5b1" +} + +.icon-road:before { + content: "\e5b2" +} + +.icon-road-bike:before { + content: "\e5b3" +} + +.icon-rocket:before { + content: "\e5b4" +} + +.icon-scooter:before { + content: "\e5b5" +} + +.icon-ship:before { + content: "\e5b6" +} + +.icon-train:before { + content: "\e5b7" +} + +.icon-tram:before { + content: "\e5b8" +} + +.icon-cactus:before { + content: "\e5b9" +} + +.icon-clover:before { + content: "\e5ba" +} + +.icon-flower:before { + content: "\e5bb" +} + +.icon-hand-eco:before { + content: "\e5bc" +} + +.icon-hand-globe:before { + content: "\e5bd" +} + +.icon-leaf:before { + content: "\e5be" +} + +.icon-light-eco:before { + content: "\e5bf" +} + +.icon-potted-plant-1:before { + content: "\e5c0" +} + +.icon-potted-plant-2:before { + content: "\e5c1" +} + +.icon-2-fingers-down-swipe:before { + content: "\e5c2" +} + +.icon-2-fingers-horizontal-swipe:before { + content: "\e5c3" +} + +.icon-2-fingers-left-swipe:before { + content: "\e5c4" +} + +.icon-2-fingers-omnidirectional-swipe:before { + content: "\e5c5" +} + +.icon-2-fingers-right-swipe:before { + content: "\e5c6" +} + +.icon-2-fingers-tab-hold:before { + content: "\e5c7" +} + +.icon-2-fingers-tap:before { + content: "\e5c8" +} + +.icon-2-fingers-up-swipe:before { + content: "\e5c9" +} + +.icon-2-fingers-vertical-swipe:before { + content: "\e5ca" +} + +.icon-2finger-double-tap:before { + content: "\e5cb" +} + +.icon-double-tap:before { + content: "\e5cc" +} + +.icon-drag-down:before { + content: "\e5cd" +} + +.icon-drag-horizontal:before { + content: "\e5ce" +} + +.icon-drag-left:before { + content: "\e5cf" +} + +.icon-drag-right:before { + content: "\e5d0" +} + +.icon-drag-up:before { + content: "\e5d1" +} + +.icon-drag-vertical:before { + content: "\e5d2" +} + +.icon-filck-down:before { + content: "\e5d3" +} + +.icon-flick-up:before { + content: "\e5d4" +} + +.icon-horizontal-flick:before { + content: "\e5d5" +} + +.icon-left-flick:before { + content: "\e5d6" +} + +.icon-omnidirectional-drag:before { + content: "\e5d7" +} + +.icon-omnidirectional-flick:before { + content: "\e5d8" +} + +.icon-omnidirectional-swipe:before { + content: "\e5d9" +} + +.icon-pinch:before { + content: "\e5da" +} + +.icon-right-flick:before { + content: "\e5db" +} + +.icon-rotate-clockwise:before { + content: "\e5dc" +} + +.icon-rotate-counterclockwise:before { + content: "\e5dd" +} + +.icon-spread:before { + content: "\e5de" +} + +.icon-swipe-down:before { + content: "\e5df" +} + +.icon-swipe-horizontal:before { + content: "\e5e0" +} + +.icon-swipe-left:before { + content: "\e5e1" +} + +.icon-swipe-right:before { + content: "\e5e2" +} + +.icon-swipe-up:before { + content: "\e5e3" +} + +.icon-swipe-vertical:before { + content: "\e5e4" +} + +.icon-tap:before { + content: "\e5e5" +} + +.icon-tap-hold:before { + content: "\e5e6" +} + +.icon-vertical-flick:before { + content: "\e5e7" +} + +.icon-arrow-1-1:before { + content: "\e5e8" +} + +.icon-arrow-2-1:before { + content: "\e5e9" +} + +.icon-arrow-3:before { + content: "\e5ea" +} + +.icon-arrow-4:before { + content: "\e5eb" +} + +.icon-arrow-5:before { + content: "\e5ec" +} + +.icon-arrow-6:before { + content: "\e5ed" +} + +.icon-arrow-7:before { + content: "\e5ee" +} + +.icon-arrow-8:before { + content: "\e5ef" +} + +.icon-arrow-9:before { + content: "\e5f0" +} + +.icon-arrow-10:before { + content: "\e5f1" +} + +.icon-arrow-11:before { + content: "\e5f2" +} + +.icon-arrow-12:before { + content: "\e5f3" +} + +.icon-arrow-13:before { + content: "\e5f4" +} + +.icon-arrow-14:before { + content: "\e5f5" +} + +.icon-arrow-15:before { + content: "\e5f6" +} + +.icon-arrow-16:before { + content: "\e5f7" +} + +.icon-arrow-17:before { + content: "\e5f8" +} + +.icon-arrow-18:before { + content: "\e5f9" +} + +.icon-arrow-19:before { + content: "\e5fa" +} + +.icon-arrow-20:before { + content: "\e5fb" +} + +.icon-arrow-21:before { + content: "\e5fc" +} + +.icon-arrow-22:before { + content: "\e5fd" +} + +.icon-arrow-23:before { + content: "\e5fe" +} + +.icon-arrow-24:before { + content: "\e5ff" +} + +.icon-arrow-25:before { + content: "\e600" +} + +.icon-arrow-26:before { + content: "\e601" +} + +.icon-arrow-27:before { + content: "\e602" +} + +.icon-arrow-28:before { + content: "\e603" +} + +.icon-arrow-29:before { + content: "\e604" +} + +.icon-arrow-30:before { + content: "\e605" +} + +.icon-arrow-31:before { + content: "\e606" +} + +.icon-arrow-32:before { + content: "\e607" +} + +.icon-arrow-33:before { + content: "\e608" +} + +.icon-arrow-34:before { + content: "\e609" +} + +.icon-arrow-35:before { + content: "\e60a" +} + +.icon-arrow-36:before { + content: "\e60b" +} + +.icon-arrow-37:before { + content: "\e60c" +} + +.icon-arrow-38:before { + content: "\e60d" +} + +.icon-arrow-39:before { + content: "\e60e" +} + +.icon-arrow-40:before { + content: "\e60f" +} + +.icon-arrow-41:before { + content: "\e610" +} + +.icon-arrow-42:before { + content: "\e611" +} + +.icon-arrow-43:before { + content: "\e612" +} + +.icon-arrow-44:before { + content: "\e613" +} + +.icon-arrow-45:before { + content: "\e614" +} + +.icon-arrow-46:before { + content: "\e615" +} + +.icon-arrow-47:before { + content: "\e616" +} + +.icon-arrow-48:before { + content: "\e617" +} + +.icon-arrow-49:before { + content: "\e618" +} + +.icon-arrow-50:before { + content: "\e619" +} + +.icon-arrow-51:before { + content: "\e61a" +} + +.icon-arrow-52:before { + content: "\e61b" +} + +.icon-arrow-53:before { + content: "\e61c" +} + +.icon-arrow-54:before { + content: "\e61d" +} + +.icon-arrow-55:before { + content: "\e61e" +} + +.icon-arrow-56:before { + content: "\e61f" +} + +.icon-arrow-57:before { + content: "\e620" +} + +.icon-arrow-58:before { + content: "\e621" +} + +.icon-arrow-59:before { + content: "\e622" +} + +.icon-arrow-60:before { + content: "\e623" +} + +.icon-arrow-61:before { + content: "\e624" +} + +.icon-arrow-62:before { + content: "\e625" +} + +.icon-arrow-63:before { + content: "\e626" +} + +.icon-arrow-64:before { + content: "\e627" +} + +.icon-arrow-65:before { + content: "\e628" +} + +.icon-arrow-66:before { + content: "\e629" +} + +.icon-arrow-67:before { + content: "\e62a" +} + +.icon-arrow-68:before { + content: "\e62b" +} + +.icon-arrow-69:before { + content: "\e62c" +} + +.icon-arrow-70:before { + content: "\e62d" +} + +.icon-arrow-71:before { + content: "\e62e" +} + +.icon-arrow-72:before { + content: "\e62f" +} + +.icon-arrow-circle-1:before { + content: "\e630" +} + +.icon-arrow-circle-2:before { + content: "\e631" +} + +.icon-arrow-circle-3:before { + content: "\e632" +} + +.icon-arrow-circle-4:before { + content: "\e633" +} + +.icon-arrow-circle-5:before { + content: "\e634" +} + +.icon-arrow-circle-6:before { + content: "\e635" +} + +.icon-arrow-circle-7:before { + content: "\e636" +} + +.icon-arrow-circle-8:before { + content: "\e637" +} + +.icon-arrow-circle-9:before { + content: "\e638" +} + +.icon-arrow-circle-10:before { + content: "\e639" +} + +.icon-arrow-circle-11:before { + content: "\e63a" +} + +.icon-arrow-circle-12:before { + content: "\e63b" +} + +.icon-arrow-circle-13:before { + content: "\e63c" +} + +.icon-arrow-circle-14:before { + content: "\e63d" +} + +.icon-arrow-circle-15:before { + content: "\e63e" +} + +.icon-arrow-circle-16:before { + content: "\e63f" +} + +.icon-arrow-circle-17:before { + content: "\e640" +} + +.icon-arrow-circle-18:before { + content: "\e641" +} + +.icon-arrow-circle-19:before { + content: "\e642" +} + +.icon-arrow-circle-20:before { + content: "\e643" +} + +.icon-arrow-circle-21:before { + content: "\e644" +} + +.icon-arrow-circle-22:before { + content: "\e645" +} + +.icon-arrow-circle-23:before { + content: "\e646" +} + +.icon-arrow-circle-24:before { + content: "\e647" +} + +.icon-arrow-circle-25:before { + content: "\e648" +} + +.icon-arrow-circle-26:before { + content: "\e649" +} + +.icon-arrow-circle-27:before { + content: "\e64a" +} + +.icon-arrow-circle-28:before { + content: "\e64b" +} + +.icon-arrow-circle-29:before { + content: "\e64c" +} + +.icon-arrow-circle-30:before { + content: "\e64d" +} + +.icon-arrow-delete-1:before { + content: "\e64e" +} + +.icon-arrow-delete-2:before { + content: "\e64f" +} + +.icon-arrow-dot-1:before { + content: "\e650" +} + +.icon-arrow-dot-2:before { + content: "\e651" +} + +.icon-arrow-dot-3:before { + content: "\e652" +} + +.icon-arrow-dot-4:before { + content: "\e653" +} + +.icon-arrow-dot-5:before { + content: "\e654" +} + +.icon-arrow-dot-6:before { + content: "\e655" +} + +.icon-arrow-rectangle-1:before { + content: "\e656" +} + +.icon-arrow-rectangle-2:before { + content: "\e657" +} + +.icon-arrow-rectangle-3:before { + content: "\e658" +} + +.icon-arrow-rectangle-4:before { + content: "\e659" +} + +.icon-arrow-rectangle-5:before { + content: "\e65a" +} + +.icon-arrow-rectangle-6:before { + content: "\e65b" +} + +.icon-arrow-rectangle-7:before { + content: "\e65c" +} + +.icon-arrow-rectangle-8:before { + content: "\e65d" +} + +.icon-arrow-rectangle-9:before { + content: "\e65e" +} + +.icon-arrow-rectangle-10:before { + content: "\e65f" +} + +.icon-arrow-rectangle-11:before { + content: "\e660" +} + +.icon-arrow-rectangle-12:before { + content: "\e661" +} + +.icon-arrow-rectangle-13:before { + content: "\e662" +} + +.icon-arrow-rectangle-14:before { + content: "\e663" +} + +.icon-arrow-rectangle-15:before { + content: "\e664" +} + +.icon-arrow-rectangle-16:before { + content: "\e665" +} + +.icon-arrow-rectangle-17:before { + content: "\e666" +} + +.icon-arrow-rectangle-18:before { + content: "\e667" +} + +.icon-arrow-rectangle-19:before { + content: "\e668" +} + +.icon-arrow-rectangle-20:before { + content: "\e669" +} + +.icon-search:before { + content: "\e01f" +} + +.icon-envelope-o:before { + content: "\e124" +} + +.icon-heart:before { + content: "\e093" +} + +.icon-star:before { + content: "\e09d" +} + +.icon-check:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Yes.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.icon-power-off:before { + content: "\e2df" +} + +.icon-gear:before { + content: "\e312" +} + +.icon-flag:before { + content: "\e085" +} + +.icon-eye:before { + content: "\e02c" +} + +.icon-thumbs-o-up:before { + content: "\e090" +} + +.icon-comments-o:before { + content: "\e0c2" +} + +.icon-thumbs-up:before { + content: "\e090" +} + +.icon-thumbs-down:before { + content: "\e091" +} + +.icon-link:before { + content: "\e014" +} + +.icon-sad:before { + content: "\e0e7" +} + +.icon-reply:before { + content: "\e143" +} + +.icon-info3:before { + content: "\e335" +} + +.icon-home2:before { + content: "\e3be" +} + +.icon-tag4:before { + content: "\e04d" +} + +.icon-clock:before { + content: "\e322" +} + +.icon-bubble2:before { + content: "\e0a8" +} + +.icon-users:before { + content: "\e174" +} + +.iconf-bin-1:before { + content: "a" +} + +.iconf-bin-2:before { + content: "b" +} + +.iconf-binocular:before { + content: "c" +} + +.iconf-bomb:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Crash.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.iconf-clip-1:before { + content: "e" +} + +.iconf-clip-2:before { + content: "f" +} + +.iconf-crosshair-1:before { + content: "g" +} + +.iconf-crosshair-2:before { + content: "h" +} + +.iconf-crosshair-3:before { + content: "i" +} + +.iconf-cutter:before { + content: "j" +} + +.iconf-delete-1:before { + content: "k" +} + +.iconf-delete-2:before { + content: "l" +} + +.iconf-edit-1:before { + content: "m" +} + +.iconf-edit-2:before { + content: "n" +} + +.iconf-edit-3:before { + content: "o" +} + +.iconf-hide:before { + content: "p" +} + +.iconf-ink:before { + content: "q" +} + +.iconf-key-1:before { + content: "r" +} + +.iconf-key-2:before { + content: "s" +} + +.iconf-link-1:before { + content: "t" +} + +.iconf-link-2:before { + content: "u" +} + +.iconf-link-3:before { + content: "v" +} + +.iconf-link-broken-1:before { + content: "w" +} + +.iconf-link-broken-2:before { + content: "x" +} + +.iconf-lock-1:before { + content: "y" +} + +.iconf-lock-2:before { + content: "z" +} + +.iconf-lock-3:before { + content: "A" +} + +.iconf-lock-4:before { + content: "B" +} + +.iconf-lock-5:before { + content: "C" +} + +.iconf-lock-unlock-1:before { + content: "D" +} + +.iconf-lock-unlock-2:before { + content: "E" +} + +.iconf-magnifier:before { + content: "F" +} + +.iconf-pen-1:before { + content: "G" +} + +.iconf-pen-2:before { + content: "H" +} + +.iconf-pen-3:before { + content: "I" +} + +.iconf-pen-4:before { + content: "J" +} + +.iconf-pencil-1:before { + content: "K" +} + +.iconf-pencil-2:before { + content: "L" +} + +.iconf-pencil-3:before { + content: "M" +} + +.iconf-pin-1:before { + content: "N" +} + +.iconf-pin-2:before { + content: "O" +} + +.iconf-power-1:before { + content: "P" +} + +.iconf-power-2:before { + content: "Q" +} + +.iconf-preview-1:before { + content: "R" +} + +.iconf-preview-2:before { + content: "S" +} + +.iconf-scissor-1:before { + content: "T" +} + +.iconf-scissor-2:before { + content: "U" +} + +.iconf-skull-1:before { + content: "V" +} + +.iconf-skull-2:before { + content: "W" +} + +.iconf-type-1:before { + content: "X" +} + +.iconf-type-2:before { + content: "Y" +} + +.iconf-type-3:before { + content: "Z" +} + +.iconf-type-4:before { + content: "0" +} + +.iconf-zoom-area:before { + content: "1" +} + +.iconf-zoom-in:before { + content: "2" +} + +.iconf-zoom-out:before { + content: "3" +} + +.iconf-cursor-1:before { + content: "4" +} + +.iconf-cursor-2:before { + content: "5" +} + +.iconf-cursor-3:before { + content: "6" +} + +.iconf-cursor-6:before { + content: "7" +} + +.iconf-cursor-move:before { + content: "8" +} + +.iconf-cursor-select-area:before { + content: "9" +} + +.iconf-cursors:before { + content: "!" +} + +.iconf-hand:before { + content: "\"" +} + +.iconf-hand-block:before { + content: "#" +} + +.iconf-hand-grab-1:before { + content: "$" +} + +.iconf-hand-grab-2:before { + content: "%" +} + +.iconf-hand-point:before { + content: "&" +} + +.iconf-hand-touch-1:before { + content: "'" +} + +.iconf-hand-touch-2:before { + content: "(" +} + +.iconf-hand-touch-3:before { + content: ")" +} + +.iconf-hand-touch-4:before { + content: "*" +} + +.iconf-bookmark-1:before { + content: "+" +} + +.iconf-bookmark-2:before { + content: "," +} + +.iconf-bookmark-3:before { + content: "-" +} + +.iconf-bookmark-4:before { + content: "." +} + +.iconf-tag-1:before { + content: "/" +} + +.iconf-tag-2:before { + content: ":" +} + +.iconf-tag-add:before { + content: ";" +} + +.iconf-tag-delete:before { + content: "<" +} + +.iconf-tags-1:before { + content: "=" +} + +.iconf-tags-2:before { + content: ">" +} + +.iconf-anchor-point-1:before { + content: "?" +} + +.iconf-anchor-point-2:before { + content: "@" +} + +.iconf-arrange-1:before { + content: "[" +} + +.iconf-arrange-2:before { + content: "]" +} + +.iconf-board:before { + content: "^" +} + +.iconf-brush-1:before { + content: "_" +} + +.iconf-brush-2:before { + content: "`" +} + +.iconf-bucket:before { + content:"{" +} + +.iconf-crop:before { + content: "|" +} + +.iconf-dropper-1:before { + content: "}" +} + +.iconf-dropper-2:before { + content: "~" +} + +.iconf-dropper-3:before { + content: "\\" +} + +.iconf-glue:before { + content: "\e000" +} + +.iconf-grid:before { + content: "\e001" +} + +.iconf-layers:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Cheat.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.iconf-magic-wand-1:before { + content: "\e003" +} + +.iconf-magic-wand-2:before { + content: "\e004" +} + +.iconf-magnet:before { + content: "\e005" +} + +.iconf-marker:before { + content: "\e006" +} + +.iconf-palette:before { + content: "\e007" +} + +.iconf-pen-5:before { + content: "\e008" +} + +.iconf-pen-6:before { + content: "\e009" +} + +.iconf-quill:before { + content: "\e00a" +} + +.iconf-reflect:before { + content: "\e00b" +} + +.iconf-roller:before { + content: "\e00c" +} + +.iconf-ruler-1:before { + content: "\e00d" +} + +.iconf-ruler-2:before { + content: "\e00e" +} + +.iconf-scale-diagonal-1:before { + content: "\e00f" +} + +.iconf-scale-diagonal-2:before { + content: "\e010" +} + +.iconf-scale-horizontal:before { + content: "\e011" +} + +.iconf-scale-tool-1:before { + content: "\e012" +} + +.iconf-scale-tool-2:before { + content: "\e013" +} + +.iconf-scale-tool-3:before { + content: "\e014" +} + +.iconf-scale-vertical:before { + content: "\e015" +} + +.iconf-shear-tool:before { + content: "\e016" +} + +.iconf-spray:before { + content: "\e017" +} + +.iconf-stamp:before { + content: "\e018" +} + +.iconf-stationery-1:before { + content: "\e019" +} + +.iconf-stationery-2:before { + content: "\e01a" +} + +.iconf-stationery-3:before { + content: "\e01b" +} + +.iconf-vector:before { + content: "\e01c" +} + +.iconf-award-1:before { + content: "\e01d" +} + +.iconf-award-2:before { + content: "\e01e" +} + +.iconf-award-3:before { + content: "\e01f" +} + +.iconf-award-4:before { + content: "\e020" +} + +.iconf-award-5:before { + content: "\e021" +} + +.iconf-award-6:before { + content: "\e022" +} + +.iconf-crown-1:before { + content: "\e023" +} + +.iconf-crown-2:before { + content: "\e024" +} + +.iconf-crown-3:before { + content: "\e025" +} + +.iconf-fire:before { + content: "\e026" +} + +.iconf-flag-1:before { + content: "\e027" +} + +.iconf-flag-2:before { + content: "\e028" +} + +.iconf-flag-3:before { + content: "\e029" +} + +.iconf-flag-4:before { + content: "\e02a" +} + +.iconf-flag-5:before { + content: "\e02b" +} + +.iconf-flag-6:before { + content: "\e02c" +} + +.iconf-flag-7:before { + content: "\e02d" +} + +.iconf-flag-8:before { + content: "\e02e" +} + +.iconf-google-plus-1:before { + content: "\e02f" +} + +.iconf-google-plus-2:before { + content: "\e030" +} + +.iconf-hand-like-1:before { + content: "\e031" +} + +.iconf-hand-like-2:before { + content: "\e032" +} + +.iconf-hand-unlike-1:before { + content: "\e033" +} + +.iconf-hand-unlike-2:before { + content: "\e034" +} + +.iconf-heart-1:before { + content: "\e035" +} + +.iconf-heart-2:before { + content: "\e036" +} + +.iconf-heart-angel:before { + content: "\e037" +} + +.iconf-heart-broken:before { + content: "\e038" +} + +.iconf-heart-minus:before { + content: "\e039" +} + +.iconf-heart-plus:before { + content: "\e03a" +} + +.iconf-present:before { + content: "\e03b" +} + +.iconf-rank-1:before { + content: "\e03c" +} + +.iconf-rank-2:before { + content: "\e03d" +} + +.iconf-ribbon:before { + content: "\e03e" +} + +.iconf-star-1:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Outstanding.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.iconf-star-2:before { + content: "\e040" +} + +.iconf-star-3:before { + content: "\e041" +} + +.iconf-star-4:before { + content: "\e042" +} + +.iconf-star-5:before { + content: "\e043" +} + +.iconf-star-6:before { + content: "\e044" +} + +.iconf-star-7:before { + content: "\e045" +} + +.iconf-star-8:before { + content: "\e046" +} + +.iconf-star-9:before { + content: "\e047" +} + +.iconf-star-10:before { + content: "\e048" +} + +.iconf-trophy:before { + content: "\e049" +} + +.iconf-baloon:before { + content: "\e04a" +} + +.iconf-bubble-1:before { + content: "\e04b" +} + +.iconf-bubble-2:before { + content: "\e04c" +} + +.iconf-bubble-add-1:before { + content: "\e04d" +} + +.iconf-bubble-add-2:before { + content: "\e04e" +} + +.iconf-bubble-add-3:before { + content: "\e04f" +} + +.iconf-bubble-ask-1:before { + content: "\e050" +} + +.iconf-bubble-ask-2:before { + content: "\e051" +} + +.iconf-bubble-attention-2:before { + content: "\e052" +} + +.iconf-bubble-attention-3:before { + content: "\e053" +} + +.iconf-bubble-attention-4:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Can\'t\ explain.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.iconf-bubble-attention-6:before { + content: "\e055" +} + +.iconf-bubble-attention-7:before { + content: "\e056" +} + +.iconf-bubble-block-1:before { + content: "\e057" +} + +.iconf-bubble-block-2:before { + content: "\e058" +} + +.iconf-bubble-block-3:before { + content: "\e059" +} + +.iconf-bubble-chat-1:before { + content: "\e05a" +} + +.iconf-bubble-chat-2:before { + content: "\e05b" +} + +.iconf-bubble-check-1:before { + content: "\e05c" +} + +.iconf-bubble-check-2:before { + content: "\e05d" +} + +.iconf-bubble-check-3:before { + content: "\e05e" +} + +.iconf-bubble-comment-1:before { + content: "\e05f" +} + +.iconf-bubble-comment-2:before { + content: "\e060" +} + +.iconf-bubble-conversation-1:before { + content: "\e061" +} + +.iconf-bubble-conversation-2:before { + content: "\e062" +} + +.iconf-bubble-conversation-3:before { + content: "\e063" +} + +.iconf-bubble-conversation-4:before { + content: "\e064" +} + +.iconf-bubble-conversation-5:before { + content: "\e065" +} + +.iconf-bubble-conversation-6:before { + content: "\e066" +} + +.iconf-bubble-delete-1:before { + content: "\e067" +} + +.iconf-bubble-delete-2:before { + content: "\e068" +} + +.iconf-bubble-delete-3:before { + content: "\e069" +} + +.iconf-bubble-edit-1:before { + content: "\e06a" +} + +.iconf-bubble-edit-2:before { + content: "\e06b" +} + +.iconf-bubble-edit-3:before { + content: "\e06c" +} + +.iconf-bubble-heart-1:before { + content: "\e06d" +} + +.iconf-bubble-heart-2:before { + content: "\e06e" +} + +.iconf-bubble-information:before { + content: "\e06f" +} + +.iconf-bubble-information-1:before { + content: "\e070" +} + +.iconf-bubble-minus-1:before { + content: "\e071" +} + +.iconf-bubble-minus-2:before { + content: "\e072" +} + +.iconf-bubble-minus-3:before { + content: "\e073" +} + +.iconf-bubble-quote-1:before { + content: "\e074" +} + +.iconf-bubble-quote-2:before { + content: "\e075" +} + +.iconf-bubble-smiley-1:before { + content: "\e076" +} + +.iconf-bubble-smiley-2:before { + content: "\e077" +} + +.iconf-bubble-smiley-3:before { + content: "\e078" +} + +.iconf-bubble-smiley-4:before { + content: "\e079" +} + +.iconf-bubble-star-1:before { + content: "\e07a" +} + +.iconf-bubble-star-2:before { + content: "\e07b" +} + +.iconf-bubble-star-3:before { + content: "\e07c" +} + +.iconf-chat-1:before { + content: "\e07d" +} + +.iconf-chat-2:before { + content: "\e07e" +} + +.iconf-chat-3:before { + content: "\e07f" +} + +.iconf-chat-4:before { + content: "\e080" +} + +.iconf-chat-5:before { + content: "\e081" +} + +.iconf-chat-6:before { + content: "\e082" +} + +.iconf-chat-7:before { + content: "\e083" +} + +.iconf-smiley-happy-1:before { + content: "\e084" +} + +.iconf-smiley-happy-2:before { + content: "\e085" +} + +.iconf-smiley-happy-3:before { + content: "\e086" +} + +.iconf-smiley-happy-4:before { + content: "\e087" +} + +.iconf-smiley-happy-5:before { + content: "\e088" +} + +.iconf-smiley-sad-1:before { + content: "\e089" +} + +.iconf-smiley-surprise:before { + content: "\e08a" +} + +.iconf-smiley-wink:before { + content: "\e08b" +} + +.iconf-call-1:before { + content: "\e08c" +} + +.iconf-call-2:before { + content: "\e08d" +} + +.iconf-call-3:before { + content: "\e08e" +} + +.iconf-call-4:before { + content: "\e08f" +} + +.iconf-call-add:before { + content: "\e090" +} + +.iconf-call-block:before { + content: "\e091" +} + +.iconf-call-delete:before { + content: "\e092" +} + +.iconf-call-in:before { + content: "\e093" +} + +.iconf-call-minus:before { + content: "\e094" +} + +.iconf-call-out:before { + content: "\e095" +} + +.iconf-contact:before { + content: "\e096" +} + +.iconf-fax:before { + content: "\e097" +} + +.iconf-hang-up:before { + content: "\e098" +} + +.iconf-message:before { + content: "\e099" +} + +.iconf-mobile-phone-1:before { + content: "\e09a" +} + +.iconf-mobile-phone-2:before { + content: "\e09b" +} + +.iconf-phone-1:before { + content: "\e09c" +} + +.iconf-phone-2:before { + content: "\e09d" +} + +.iconf-phone-3:before { + content: "\e09e" +} + +.iconf-phone-4:before { + content: "\e09f" +} + +.iconf-phone-vibration:before { + content: "\e0a0" +} + +.iconf-signal-fine:before { + content: "\e0a1" +} + +.iconf-signal-full:before { + content: "\e0a2" +} + +.iconf-signal-high:before { + content: "\e0a3" +} + +.iconf-signal-no:before { + content: "\e0a4" +} + +.iconf-signal-poor:before { + content: "\e0a5" +} + +.iconf-signal-weak:before { + content: "\e0a6" +} + +.iconf-smartphone:before { + content: "\e0a7" +} + +.iconf-tape:before { + content: "\e0a8" +} + +.iconf-camera-symbol-1:before { + content: "\e0a9" +} + +.iconf-camera-symbol-2:before { + content: "\e0aa" +} + +.iconf-camera-symbol-3:before { + content: "\e0ab" +} + +.iconf-headphone:before { + content: "\e0ac" +} + +.iconf-antenna-1:before { + content: "\e0ad" +} + +.iconf-antenna-2:before { + content: "\e0ae" +} + +.iconf-antenna-3:before { + content: "\e0af" +} + +.iconf-hotspot-1:before { + content: "\e0b0" +} + +.iconf-hotspot-2:before { + content: "\e0b1" +} + +.iconf-link:before { + content: "\e0b2" +} + +.iconf-megaphone-1:before { + content: "\e0b3" +} + +.iconf-megaphone-2:before { + content: "\e0b4" +} + +.iconf-radar:before { + content: "\e0b5" +} + +.iconf-rss-1:before { + content: "\e0b6" +} + +.iconf-rss-2:before { + content: "\e0b7" +} + +.iconf-satellite:before { + content: "\e0b8" +} + +.iconf-address-1:before { + content: "\e0b9" +} + +.iconf-address-2:before { + content: "\e0ba" +} + +.iconf-address-3:before { + content: "\e0bb" +} + +.iconf-forward:before { + content: "\e0bc" +} + +.iconf-inbox-1:before { + content: "\e0bd" +} + +.iconf-inbox-2:before { + content: "\e0be" +} + +.iconf-inbox-3:before { + content: "\e0bf" +} + +.iconf-inbox-4:before { + content: "\e0c0" +} + +.iconf-letter-1:before { + content: "\e0c1" +} + +.iconf-letter-2:before { + content: "\e0c2" +} + +.iconf-letter-3:before { + content: "\e0c3" +} + +.iconf-letter-4:before { + content: "\e0c4" +} + +.iconf-letter-5:before { + content: "\e0c5" +} + +.iconf-mail-1:before { + content: "\e0c6" +} + +.iconf-mail-2:before { + content: "\e0c7" +} + +.iconf-mail-add:before { + content: "\e0c8" +} + +.iconf-mail-attention:before { + content: "\e0c9" +} + +.iconf-mail-block:before { + content: "\e0ca" +} + +.iconf-mail-box-1:before { + content: "\e0cb" +} + +.iconf-mail-box-2:before { + content: "\e0cc" +} + +.iconf-mail-box-3:before { + content: "\e0cd" +} + +.iconf-mail-checked:before { + content: "\e0ce" +} + +.iconf-mail-compose:before { + content: "\e0cf" +} + +.iconf-mail-delete:before { + content: "\e0d0" +} + +.iconf-mail-favorite:before { + content: "\e0d1" +} + +.iconf-mail-inbox:before { + content: "\e0d2" +} + +.iconf-mail-lock:before { + content: "\e0d3" +} + +.iconf-mail-minus:before { + content: "\e0d4" +} + +.iconf-mail-read:before { + content: "\e0d5" +} + +.iconf-mail-recieved-1:before { + content: "\e0d6" +} + +.iconf-mail-recieved-2:before { + content: "\e0d7" +} + +.iconf-mail-search-1:before { + content: "\e0d8" +} + +.iconf-mail-search-2:before { + content: "\e0d9" +} + +.iconf-mail-sent-1:before { + content: "\e0da" +} + +.iconf-mail-sent-2:before { + content: "\e0db" +} + +.iconf-mail-setting:before { + content: "\e0dc" +} + +.iconf-mail-star:before { + content: "\e0dd" +} + +.iconf-mail-sync:before { + content: "\e0de" +} + +.iconf-mail-time:before { + content: "\e0df" +} + +.iconf-outbox-1:before { + content: "\e0e0" +} + +.iconf-outbox-2:before { + content: "\e0e1" +} + +.iconf-plane-paper-1:before { + content: "\e0e2" +} + +.iconf-plane-paper-2:before { + content: "\e0e3" +} + +.iconf-reply-mail-1:before { + content: "\e0e4" +} + +.iconf-reply-mail-2:before { + content: "\e0e5" +} + +.iconf-connection-1:before { + content: "\e0e6" +} + +.iconf-connection-2:before { + content: "\e0e7" +} + +.iconf-connection-3:before { + content: "\e0e8" +} + +.iconf-contacts-1:before { + content: "\e0e9" +} + +.iconf-contacts-2:before { + content: "\e0ea" +} + +.iconf-contacts-3:before { + content: "\e0eb" +} + +.iconf-contacts-4:before { + content: "\e0ec" +} + +.iconf-female:before { + content: "\e0ed" +} + +.iconf-gender:before { + content: "\e0ee" +} + +.iconf-gender-female:before { + content: "\e0ef" +} + +.iconf-gender-male:before { + content: "\e0f0" +} + +.iconf-id-1:before { + content: "\e0f1" +} + +.iconf-id-2:before { + content: "\e0f2" +} + +.iconf-id-3:before { + content: "\e0f3" +} + +.iconf-id-4:before { + content: "\e0f4" +} + +.iconf-id-5:before { + content: "\e0f5" +} + +.iconf-id-6:before { + content: "\e0f6" +} + +.iconf-id-7:before { + content: "\e0f7" +} + +.iconf-id-8:before { + content: "\e0f8" +} + +.iconf-male:before { + content: "\e0f9" +} + +.iconf-profile-1:before { + content: "\e0fa" +} + +.iconf-profile-2:before { + content: "\e0fb" +} + +.iconf-profile-3:before { + content: "\e0fc" +} + +.iconf-profile-4:before { + content: "\e0fd" +} + +.iconf-profile-5:before { + content: "\e0fe" +} + +.iconf-profile-6:before { + content: "\e0ff" +} + +.iconf-profile-athlete:before { + content: "\e100" +} + +.iconf-profile-bussiness-man:before { + content: "\e101" +} + +.iconf-profile-cook:before { + content: "\e102" +} + +.iconf-profile-cop:before { + content: "\e103" +} + +.iconf-profile-doctor-1:before { + content: "\e104" +} + +.iconf-profile-doctor-2:before { + content: "\e105" +} + +.iconf-profile-gentleman-1:before { + content: "\e106" +} + +.iconf-profile-gentleman-2:before { + content: "\e107" +} + +.iconf-profile-graduate:before { + content: "\e108" +} + +.iconf-profile-king:before { + content: "\e109" +} + +.iconf-profile-lady-1:before { + content: "\e10a" +} + +.iconf-profile-lady-2:before { + content: "\e10b" +} + +.iconf-profile-man:before { + content: "\e10c" +} + +.iconf-profile-nurse-1:before { + content: "\e10d" +} + +.iconf-profile-nurse-2:before { + content: "\e10e" +} + +.iconf-profile-prisoner:before { + content: "\e10f" +} + +.iconf-profile-serviceman-1:before { + content: "\e110" +} + +.iconf-profile-serviceman-2:before { + content: "\e111" +} + +.iconf-profile-spy:before { + content: "\e112" +} + +.iconf-profile-teacher:before { + content: "\e113" +} + +.iconf-profile-thief:before { + content: "\e114" +} + +.iconf-user-1:before { + content: "\e115" +} + +.iconf-user-2:before { + content: "\e116" +} + +.iconf-user-add-1:before { + content: "\e117" +} + +.iconf-user-add-2:before { + content: "\e118" +} + +.iconf-user-block-1:before { + content: "\e119" +} + +.iconf-user-block-2:before { + content: "\e11a" +} + +.iconf-user-checked-1:before { + content: "\e11b" +} + +.iconf-user-checked-2:before { + content: "\e11c" +} + +.iconf-user-delete-1:before { + content: "\e11d" +} + +.iconf-user-delete-2:before { + content: "\e11e" +} + +.iconf-user-edit-1:before { + content: "\e11f" +} + +.iconf-user-edit-2:before { + content: "\e120" +} + +.iconf-user-heart-1:before { + content: "\e121" +} + +.iconf-user-heart-2:before { + content: "\e122" +} + +.iconf-user-lock:before { + content: "\e123" +} + +.iconf-user-lock-1:before { + content: "\e124" +} + +.iconf-user-minus-1:before { + content: "\e125" +} + +.iconf-user-minus-2:before { + content: "\e126" +} + +.iconf-user-search-1:before { + content: "\e127" +} + +.iconf-user-search-2:before { + content: "\e128" +} + +.iconf-user-setting-1:before { + content: "\e129" +} + +.iconf-user-setting-2:before { + content: "\e12a" +} + +.iconf-user-star-1:before { + content: "\e12b" +} + +.iconf-user-star-2:before { + content: "\e12c" +} + +.iconf-basket-1:before { + content: "\e12d" +} + +.iconf-basket-2:before { + content: "\e12e" +} + +.iconf-basket-3:before { + content: "\e12f" +} + +.iconf-basket-add:before { + content: "\e130" +} + +.iconf-basket-minus:before { + content: "\e131" +} + +.iconf-briefcase-2:before { + content: "\e132" +} + +.iconf-cart-1:before { + content: "\e133" +} + +.iconf-cart-2:before { + content: "\e134" +} + +.iconf-cart-3:before { + content: "\e135" +} + +.iconf-cart-4:before { + content: "\e136" +} + +.iconf-cut:before { + content: "\e137" +} + +.iconf-hand-bag-1:before { + content: "\e138" +} + +.iconf-hand-bag-2:before { + content: "\e139" +} + +.iconf-purse-1:before { + content: "\e13a" +} + +.iconf-purse-2:before { + content: "\e13b" +} + +.iconf-qr-code:before { + content: "\e13c" +} + +.iconf-receipt-1:before { + content: "\e13d" +} + +.iconf-receipt-2:before { + content: "\e13e" +} + +.iconf-receipt-3:before { + content: "\e13f" +} + +.iconf-receipt-4:before { + content: "\e140" +} + +.iconf-shopping-1:before { + content: "\e141" +} + +.iconf-shopping-bag-1:before { + content: "\e142" +} + +.iconf-shopping-bag-2:before { + content: "\e143" +} + +.iconf-shopping-bag-3:before { + content: "\e144" +} + +.iconf-sign-new-1:before { + content: "\e145" +} + +.iconf-sign-new-2:before { + content: "\e146" +} + +.iconf-sign-park:before { + content: "\e147" +} + +.iconf-sign-star:before { + content: "\e148" +} + +.iconf-trolley-1:before { + content: "\e149" +} + +.iconf-trolley-2:before { + content: "\e14a" +} + +.iconf-trolley-3:before { + content: "\e14b" +} + +.iconf-trolley-load:before { + content: "\e14c" +} + +.iconf-trolley-off:before { + content: "\e14d" +} + +.iconf-wallet-1:before { + content: "\e14e" +} + +.iconf-wallet-2:before { + content: "\e14f" +} + +.iconf-wallet-3:before { + content: "\e150" +} + +.iconf-camera-1:before { + content: "\e151" +} + +.iconf-camera-2:before { + content: "\e152" +} + +.iconf-camera-3:before { + content: "\e153" +} + +.iconf-camera-4:before { + content: "\e154" +} + +.iconf-camera-5:before { + content: "\e155" +} + +.iconf-camera-back:before { + content: "\e156" +} + +.iconf-camera-focus:before { + content: "\e157" +} + +.iconf-camera-frames:before { + content: "\e158" +} + +.iconf-camera-front:before { + content: "\e159" +} + +.iconf-camera-graph-1:before { + content: "\e15a" +} + +.iconf-camera-graph-2:before { + content: "\e15b" +} + +.iconf-camera-landscape:before { + content: "\e15c" +} + +.iconf-camera-lens-1:before { + content: "\e15d" +} + +.iconf-camera-lens-2:before { + content: "\e15e" +} + +.iconf-camera-light:before { + content: "\e15f" +} + +.iconf-camera-portrait:before { + content: "\e160" +} + +.iconf-camera-view:before { + content: "\e161" +} + +.iconf-film-1:before { + content: "\e162" +} + +.iconf-film-2:before { + content: "\e163" +} + +.iconf-photo-1:before { + content: "\e164" +} + +.iconf-photo-2:before { + content: "\e165" +} + +.iconf-photo-frame:before { + content: "\e166" +} + +.iconf-photos-1:before { + content: "\e167" +} + +.iconf-photos-2:before { + content: "\e168" +} + +.iconf-polaroid:before { + content: "\e169" +} + +.iconf-signal-camera-1:before { + content: "\e16a" +} + +.iconf-signal-camera-2:before { + content: "\e16b" +} + +.iconf-user-photo:before { + content: "\e16c" +} + +.iconf-backward-1:before { + content: "\e16d" +} + +.iconf-dvd-player:before { + content: "\e16e" +} + +.iconf-eject-1:before { + content: "\e16f" +} + +.iconf-film-3:before { + content: "\e170" +} + +.iconf-forward-1:before { + content: "\e171" +} + +.iconf-handy-cam:before { + content: "\e172" +} + +.iconf-movie-play-1:before { + content: "\e173" +} + +.iconf-movie-play-2:before { + content: "\e174" +} + +.iconf-movie-play-3:before { + content: "\e175" +} + +.iconf-next-1:before { + content: "\e176" +} + +.iconf-pause-1:before { + content: "\e177" +} + +.iconf-play-1:before { + content: "\e178" +} + +.iconf-player:before { + content: "\e179" +} + +.iconf-previous-1:before { + content: "\e17a" +} + +.iconf-record-1:before { + content: "\e17b" +} + +.iconf-slate:before { + content: "\e17c" +} + +.iconf-stop-1:before { + content: "\e17d" +} + +.iconf-television:before { + content: "\e17e" +} + +.iconf-video-camera-1:before { + content: "\e17f" +} + +.iconf-video-camera-2:before { + content: "\e180" +} + +.iconf-backward-2:before { + content: "\e181" +} + +.iconf-cd:before { + content: "\e182" +} + +.iconf-eject-2:before { + content: "\e183" +} + +.iconf-equalizer-1:before { + content: "\e184" +} + +.iconf-equalizer-2:before { + content: "\e185" +} + +.iconf-forward-2:before { + content: "\e186" +} + +.iconf-gramophone:before { + content: "\e187" +} + +.iconf-gramophone-record:before { + content: "\e188" +} + +.iconf-guitar:before { + content: "\e189" +} + +.iconf-headphone-1:before { + content: "\e18a" +} + +.iconf-headphone-2:before { + content: "\e18b" +} + +.iconf-microphone-1:before { + content: "\e18c" +} + +.iconf-microphone-2:before { + content: "\e18d" +} + +.iconf-microphone-3:before { + content: "\e18e" +} + +.iconf-movie-play-4:before { + content: "\e18f" +} + +.iconf-music-note-1:before { + content: "\e190" +} + +.iconf-music-note-3:before { + content: "\e191" +} + +.iconf-music-note-4:before { + content: "\e192" +} + +.iconf-music-note-5:before { + content: "\e193" +} + +.iconf-next-2:before { + content: "\e194" +} + +.iconf-notes-1:before { + content: "\e195" +} + +.iconf-notes-2:before { + content: "\e196" +} + +.iconf-pause-2:before { + content: "\e197" +} + +.iconf-piano:before { + content: "\e198" +} + +.iconf-play-2:before { + content: "\e199" +} + +.iconf-playlist:before { + content: "\e19a" +} + +.iconf-previous-2:before { + content: "\e19b" +} + +.iconf-radio-1:before { + content: "\e19c" +} + +.iconf-radio-2:before { + content: "\e19d" +} + +.iconf-record-2:before { + content: "\e19e" +} + +.iconf-recorder:before { + content: "\e19f" +} + +.iconf-saxophone:before { + content: "\e1a0" +} + +.iconf-speaker-1:before { + content: "\e1a1" +} + +.iconf-speaker-2:before { + content: "\e1a2" +} + +.iconf-speaker-3:before { + content: "\e1a3" +} + +.iconf-stop-2:before { + content: "\e1a4" +} + +.iconf-tape-1:before { + content: "\e1a5" +} + +.iconf-trumpet:before { + content: "\e1a6" +} + +.iconf-volume-down-1:before { + content: "\e1a7" +} + +.iconf-volume-down-2:before { + content: "\e1a8" +} + +.iconf-volume-loud-1:before { + content: "\e1a9" +} + +.iconf-volume-loud-2:before { + content: "\e1aa" +} + +.iconf-volume-low-1:before { + content: "\e1ab" +} + +.iconf-volume-low-2:before { + content: "\e1ac" +} + +.iconf-volume-medium-1:before { + content: "\e1ad" +} + +.iconf-volume-medium-2:before { + content: "\e1ae" +} + +.iconf-volume-mute-1:before { + content: "\e1af" +} + +.iconf-volume-mute-2:before { + content: "\e1b0" +} + +.iconf-volume-mute-3:before { + content: "\e1b1" +} + +.iconf-volume-up-1:before { + content: "\e1b2" +} + +.iconf-volume-up-2:before { + content: "\e1b3" +} + +.iconf-walkman:before { + content: "\e1b4" +} + +.iconf-cloud:before { + content: "\e1b5" +} + +.iconf-cloud-add:before { + content: "\e1b6" +} + +.iconf-cloud-checked:before { + content: "\e1b7" +} + +.iconf-cloud-delete:before { + content: "\e1b8" +} + +.iconf-cloud-download:before { + content: "\e1b9" +} + +.iconf-cloud-minus:before { + content: "\e1ba" +} + +.iconf-cloud-refresh:before { + content: "\e1bb" +} + +.iconf-cloud-sync:before { + content: "\e1bc" +} + +.iconf-cloud-upload:before { + content: "\e1bd" +} + +.iconf-download-1:before { + content: "\e1be" +} + +.iconf-download-2:before { + content: "\e1bf" +} + +.iconf-download-3:before { + content: "\e1c0" +} + +.iconf-download-4:before { + content: "\e1c1" +} + +.iconf-download-5:before { + content: "\e1c2" +} + +.iconf-download-6:before { + content: "\e1c3" +} + +.iconf-download-7:before { + content: "\e1c4" +} + +.iconf-download-8:before { + content: "\e1c5" +} + +.iconf-download-9:before { + content: "\e1c6" +} + +.iconf-download-10:before { + content: "\e1c7" +} + +.iconf-download-11:before { + content: "\e1c8" +} + +.iconf-download-12:before { + content: "\e1c9" +} + +.iconf-download-13:before { + content: "\e1ca" +} + +.iconf-download-14:before { + content: "\e1cb" +} + +.iconf-download-15:before { + content: "\e1cc" +} + +.iconf-download-file:before { + content: "\e1cd" +} + +.iconf-download-folder:before { + content: "\e1ce" +} + +.iconf-goal-1:before { + content: "\e1cf" +} + +.iconf-goal-2:before { + content: "\e1d0" +} + +.iconf-transfer-1:before { + content: "\e1d1" +} + +.iconf-transfer-2:before { + content: "\e1d2" +} + +.iconf-transfer-3:before { + content: "\e1d3" +} + +.iconf-transfer-4:before { + content: "\e1d4" +} + +.iconf-transfer-5:before { + content: "\e1d5" +} + +.iconf-transfer-6:before { + content: "\e1d6" +} + +.iconf-transfer-7:before { + content: "\e1d7" +} + +.iconf-transfer-8:before { + content: "\e1d8" +} + +.iconf-transfer-9:before { + content: "\e1d9" +} + +.iconf-transfer-10:before { + content: "\e1da" +} + +.iconf-transfer-11:before { + content: "\e1db" +} + +.iconf-transfer-12:before { + content: "\e1dc" +} + +.iconf-upload-1:before { + content: "\e1dd" +} + +.iconf-upload-2:before { + content: "\e1de" +} + +.iconf-upload-3:before { + content: "\e1df" +} + +.iconf-upload-4:before { + content: "\e1e0" +} + +.iconf-upload-5:before { + content: "\e1e1" +} + +.iconf-upload-6:before { + content: "\e1e2" +} + +.iconf-upload-7:before { + content: "\e1e3" +} + +.iconf-upload-8:before { + content: "\e1e4" +} + +.iconf-upload-9:before { + content: "\e1e5" +} + +.iconf-upload-10:before { + content: "\e1e6" +} + +.iconf-upload-11:before { + content: "\e1e7" +} + +.iconf-upload-12:before { + content: "\e1e8" +} + +.iconf-clipboard-1:before { + content: "\e1e9" +} + +.iconf-clipboard-2:before { + content: "\e1ea" +} + +.iconf-clipboard-3:before { + content: "\e1eb" +} + +.iconf-clipboard-add:before { + content: "\e1ec" +} + +.iconf-clipboard-block:before { + content: "\e1ed" +} + +.iconf-clipboard-checked:before { + content: "\e1ee" +} + +.iconf-clipboard-delete:before { + content: "\e1ef" +} + +.iconf-clipboard-edit:before { + content: "\e1f0" +} + +.iconf-clipboard-minus:before { + content: "\e1f1" +} + +.iconf-document-1:before { + content: "\e1f2" +} + +.iconf-document-2:before { + content: "\e1f3" +} + +.iconf-file-1:before { + content: "\e1f4" +} + +.iconf-file-2:before { + content: "\e1f5" +} + +.iconf-file-add:before { + content: "\e1f6" +} + +.iconf-file-attention:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Incomplete\ work.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.iconf-file-block:before { + content: "\e1f8" +} + +.iconf-file-bookmark:before { + content: "\e1f9" +} + +.iconf-file-checked:before { + content: "\e1fa" +} + +.iconf-file-code:before { + content: "\e1fb" +} + +.iconf-file-delete:before { + content: "\e1fc" +} + +.iconf-file-download:before { + content: "\e1fd" +} + +.iconf-file-edit:before { + content: "\e1fe" +} + +.iconf-file-favorite-1:before { + content: "\e1ff" +} + +.iconf-file-favorite-2:before { + content: "\e200" +} + +.iconf-file-graph-1:before { + content: "\e201" +} + +.iconf-file-graph-2:before { + content: "\e202" +} + +.iconf-file-home:before { + content: "\e203" +} + +.iconf-file-image-1:before { + content: "\e204" +} + +.iconf-file-image-2:before { + content: "\e205" +} + +.iconf-file-list:before { + content: "\e206" +} + +.iconf-file-lock:before { + content: "\e207" +} + +.iconf-file-media:before { + content: "\e208" +} + +.iconf-file-minus:before { + content: "\e209" +} + +.iconf-file-music:before { + content: "\e20a" +} + +.iconf-file-new:before { + content: "\e20b" +} + +.iconf-file-registry:before { + content: "\e20c" +} + +.iconf-file-search:before { + content: "\e20d" +} + +.iconf-file-setting:before { + content: "\e20e" +} + +.iconf-file-sync:before { + content: "\e20f" +} + +.iconf-file-table:before { + content: "\e210" +} + +.iconf-file-thumbnail:before { + content: "\e211" +} + +.iconf-file-time:before { + content: "\e212" +} + +.iconf-file-transfer:before { + content: "\e213" +} + +.iconf-file-upload:before { + content: "\e214" +} + +.iconf-file-zip:before { + content: "\e215" +} + +.iconf-files-1:before { + content: "\e216" +} + +.iconf-files-2:before { + content: "\e217" +} + +.iconf-files-3:before { + content: "\e218" +} + +.iconf-files-4:before { + content: "\e219" +} + +.iconf-files-5:before { + content: "\e21a" +} + +.iconf-files-6:before { + content: "\e21b" +} + +.iconf-hand-file-1:before { + content: "\e21c" +} + +.iconf-hand-file-2:before { + content: "\e21d" +} + +.iconf-note-paper-1:before { + content: "\e21e" +} + +.iconf-note-paper-2:before { + content: "\e21f" +} + +.iconf-note-paper-add:before { + content: "\e220" +} + +.iconf-note-paper-attention:before { + content: "\e221" +} + +.iconf-note-paper-block:before { + content: "\e222" +} + +.iconf-note-paper-checked:before { + content: "\e223" +} + +.iconf-note-paper-delete:before { + content: "\e224" +} + +.iconf-note-paper-download:before { + content: "\e225" +} + +.iconf-note-paper-edit:before { + content: "\e226" +} + +.iconf-note-paper-favorite:before { + content: "\e227" +} + +.iconf-note-paper-lock:before { + content: "\e228" +} + +.iconf-note-paper-minus:before { + content: "\e229" +} + +.iconf-note-paper-search:before { + content: "\e22a" +} + +.iconf-note-paper-sync:before { + content: "\e22b" +} + +.iconf-note-paper-upload:before { + content: "\e22c" +} + +.iconf-print:before { + content: "\e22d" +} + +.iconf-folder-1:before { + content: "\e22e" +} + +.iconf-folder-2:before { + content: "\e22f" +} + +.iconf-folder-3:before { + content: "\e230" +} + +.iconf-folder-4:before { + content: "\e231" +} + +.iconf-folder-add:before { + content: "\e232" +} + +.iconf-folder-attention:before { + content: "\e233" +} + +.iconf-folder-block:before { + content: "\e234" +} + +.iconf-folder-bookmark:before { + content: "\e235" +} + +.iconf-folder-checked:before { + content: "\e236" +} + +.iconf-folder-code:before { + content: "\e237" +} + +.iconf-folder-delete:before { + content: "\e238" +} + +.iconf-folder-download:before { + content: "\e239" +} + +.iconf-folder-edit:before { + content: "\e23a" +} + +.iconf-folder-favorite:before { + content: "\e23b" +} + +.iconf-folder-home:before { + content: "\e23c" +} + +.iconf-folder-image:before { + content: "\e23d" +} + +.iconf-folder-lock:before { + content: "\e23e" +} + +.iconf-folder-media:before { + content: "\e23f" +} + +.iconf-folder-minus:before { + content: "\e240" +} + +.iconf-folder-music:before { + content: "\e241" +} + +.iconf-folder-new:before { + content: "\e242" +} + +.iconf-folder-search:before { + content: "\e243" +} + +.iconf-folder-setting:before { + content: "\e244" +} + +.iconf-folder-share-1:before { + content: "\e245" +} + +.iconf-folder-share-2:before { + content: "\e246" +} + +.iconf-folder-sync:before { + content: "\e247" +} + +.iconf-folder-transfer:before { + content: "\e248" +} + +.iconf-folder-upload:before { + content: "\e249" +} + +.iconf-folder-zip:before { + content: "\e24a" +} + +.iconf-add-1:before { + content: "\e24b" +} + +.iconf-add-2:before { + content: "\e24c" +} + +.iconf-add-3:before { + content: "\e24d" +} + +.iconf-add-4:before { + content: "\e24e" +} + +.iconf-add-tag:before { + content: "\e24f" +} + +.iconf-arrow-1:before { + content: "\e250" +} + +.iconf-arrow-2:before { + content: "\e251" +} + +.iconf-arrow-down-1:before { + content: "\e252" +} + +.iconf-arrow-down-2:before { + content: "\e253" +} + +.iconf-arrow-left-1:before { + content: "\e254" +} + +.iconf-arrow-left-2:before { + content: "\e255" +} + +.iconf-arrow-move-1:before { + content: "\e256" +} + +.iconf-arrow-move-down:before { + content: "\e257" +} + +.iconf-arrow-move-left:before { + content: "\e258" +} + +.iconf-arrow-move-right:before { + content: "\e259" +} + +.iconf-arrow-move-up:before { + content: "\e25a" +} + +.iconf-arrow-right-1:before { + content: "\e25b" +} + +.iconf-arrow-right-2:before { + content: "\e25c" +} + +.iconf-arrow-up-1:before { + content: "\e25d" +} + +.iconf-arrow-up-2:before { + content: "\e25e" +} + +.iconf-back:before { + content: "\e25f" +} + +.iconf-center-expand:before { + content: "\e260" +} + +.iconf-center-reduce:before { + content: "\e261" +} + +.iconf-delete-1-1:before { + content: "\e262" +} + +.iconf-delete-2-1:before, +.iconf-times:before { + content: "\e263" +} + +.iconf-delete-3:before { + content: "\e264" +} + +.iconf-delete-4:before { + content: "\e265" +} + +.iconf-delete-tag:before { + content: "\e266" +} + +.iconf-expand-horizontal:before { + content: "\e267" +} + +.iconf-expand-vertical:before { + content: "\e268" +} + +.iconf-forward-3:before { + content: "\e269" +} + +.iconf-infinity:before { + content: "\e26a" +} + +.iconf-loading:before { + content: "\e26b" +} + +.iconf-log-out-1:before { + content: "\e26c" +} + +.iconf-loop-1:before { + content: "\e26d" +} + +.iconf-loop-2:before { + content: "\e26e" +} + +.iconf-loop-3:before { + content: "\e26f" +} + +.iconf-minus-1:before { + content: "\e270" +} + +.iconf-minus-2:before { + content: "\e271" +} + +.iconf-minus-3:before { + content: "\e272" +} + +.iconf-minus-4:before { + content: "\e273" +} + +.iconf-minus-tag:before { + content: "\e274" +} + +.iconf-move-diagonal-1:before { + content: "\e275" +} + +.iconf-move-diagonal-2:before { + content: "\e276" +} + +.iconf-move-horizontal-1:before { + content: "\e277" +} + +.iconf-move-horizontal-2:before { + content: "\e278" +} + +.iconf-move-vertical-1:before { + content: "\e279" +} + +.iconf-move-vertical-2:before { + content: "\e27a" +} + +.iconf-next-1-1:before { + content: "\e27b" +} + +.iconf-next-2-1:before { + content: "\e27c" +} + +.iconf-power-1-1:before { + content: "\e27d" +} + +.iconf-power-2-1:before { + content: "\e27e" +} + +.iconf-power-3:before { + content: "\e27f" +} + +.iconf-power-4:before { + content: "\e280" +} + +.iconf-power-5:before { + content: "\e281" +} + +.iconf-recycle:before { + content: "\e282" +} + +.iconf-refresh:before { + content: "\e283" +} + +.iconf-repeat:before { + content: "\e284" +} + +.iconf-return:before { + content: "\e285" +} + +.iconf-scale-all-1:before { + content: "\e286" +} + +.iconf-scale-center:before { + content: "\e287" +} + +.iconf-scale-horizontal-1:before { + content: "\e288" +} + +.iconf-scale-horizontal-2:before { + content: "\e289" +} + +.iconf-scale-reduce-1:before { + content: "\e28a" +} + +.iconf-scale-reduce-2:before { + content: "\e28b" +} + +.iconf-scale-reduce-3:before { + content: "\e28c" +} + +.iconf-scale-spread-1:before { + content: "\e28d" +} + +.iconf-scale-spread-2:before { + content: "\e28e" +} + +.iconf-scale-spread-3:before { + content: "\e28f" +} + +.iconf-scale-vertical-1:before { + content: "\e290" +} + +.iconf-scale-vertical-2:before { + content: "\e291" +} + +.iconf-scroll-horizontal-1:before { + content: "\e292" +} + +.iconf-scroll-horizontal-2:before { + content: "\e293" +} + +.iconf-scroll-omnidirectional-1:before { + content: "\e294" +} + +.iconf-scroll-omnidirectional-2:before { + content: "\e295" +} + +.iconf-scroll-vertical-1:before { + content: "\e296" +} + +.iconf-scroll-vertical-2:before { + content: "\e297" +} + +.iconf-shuffle:before { + content: "\e298" +} + +.iconf-split:before { + content: "\e299" +} + +.iconf-sync-1:before { + content: "\e29a" +} + +.iconf-sync-2:before { + content: "\e29b" +} + +.iconf-timer:before { + content: "\e29c" +} + +.iconf-transfer:before { + content: "\e29d" +} + +.iconf-transfer-1-1:before { + content: "\e29e" +} + +.iconf-chat-1-1:before { + content: "\e29f" +} + +.iconf-chat-2-1:before { + content: "\e2a0" +} + +.iconf-check-1:before { + content: "\e2a1" +} + +.iconf-check-2:before { + content: "\e2a2" +} + +.iconf-check-3:before { + content: "\e2a3" +} + +.iconf-check-4:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Ok.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.iconf-check-bubble:before { + content: "\e2a5" +} + +.iconf-check-list:before { + content: "\e2a6" +} + +.iconf-check-shield:before { + content: "\e2a7" +} + +.iconf-cross-1:before { + content: "\e2a8" +} + +.iconf-cross-bubble:before { + content: "\e2a9" +} + +.iconf-cross-shield:before { + content: "\e2aa" +} + +.iconf-briefcase:before { + content: "\e2ab" +} + +.iconf-brightness-high:before { + content: "\e2ac" +} + +.iconf-brightness-low:before { + content: "\e2ad" +} + +.iconf-hammer-1:before { + content: "\e2ae" +} + +.iconf-hammer-2:before { + content: "\e2af" +} + +.iconf-pulse:before { + content: "\e2b0" +} + +.iconf-scale:before { + content: "\e2b1" +} + +.iconf-screw-driver:before { + content: "\e2b2" +} + +.iconf-setting-adjustment:before { + content: "\e2b3" +} + +.iconf-setting-gear:before { + content: "\e2b4" +} + +.iconf-setting-gears-1:before { + content: "\e2b5" +} + +.iconf-setting-gears-2:before { + content: "\e2b6" +} + +.iconf-setting-wrenches:before { + content: "\e2b7" +} + +.iconf-switch-1:before { + content: "\e2b8" +} + +.iconf-switch-2:before { + content: "\e2b9" +} + +.iconf-wrench:before { + content: "\e2ba" +} + +.iconf-alarm-1:before { + content: "\e2bb" +} + +.iconf-alarm-clock:before { + content: "\e2bc" +} + +.iconf-alarm-no:before { + content: "\e2bd" +} + +.iconf-alarm-snooze:before { + content: "\e2be" +} + +.iconf-bell:before { + content: "\e2bf" +} + +.iconf-calendar-1:before { + content: "\e2c0" +} + +.iconf-calendar-2:before { + content: "\e2c1" +} + +.iconf-clock-1:before { + content: "\e2c2" +} + +.iconf-clock-2:before { + content: "\e2c3" +} + +.iconf-clock-3:before { + content: "\e2c4" +} + +.iconf-hourglass-1:before { + content: "\e2c5" +} + +.iconf-hourglass-2:before { + content: "\e2c6" +} + +.iconf-timer-1:before { + content: "\e2c7" +} + +.iconf-timer-3-quarter-1:before { + content: "\e2c8" +} + +.iconf-timer-3-quarter-2:before { + content: "\e2c9" +} + +.iconf-timer-full-1:before { + content: "\e2ca" +} + +.iconf-timer-full-2:before { + content: "\e2cb" +} + +.iconf-timer-half-1:before { + content: "\e2cc" +} + +.iconf-timer-half-2:before { + content: "\e2cd" +} + +.iconf-timer-half-3:before { + content: "\e2ce" +} + +.iconf-timer-half-4:before { + content: "\e2cf" +} + +.iconf-timer-quarter-1:before { + content: "\e2d0" +} + +.iconf-timer-quarter-2:before { + content: "\e2d1" +} + +.iconf-watch-1:before { + content: "\e2d2" +} + +.iconf-watch-2:before { + content: "\e2d3" +} + +.iconf-alert-1:before { + content: "\e2d4" +} + +.iconf-alert-2:before { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Concerning\ situation.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.iconf-alert-3:before { + content: "\e2d6" +} + +.iconf-information:before { + content: "\e2d7" +} + +.iconf-nuclear-1:before { + content: "\e2d8" +} + +.iconf-nuclear-2:before { + content: "\e2d9" +} + +.iconf-question-mark:before { + content: "\e2da" +} + +.iconf-abacus:before { + content: "\e2db" +} + +.iconf-amex-card:before { + content: "\e2dc" +} + +.iconf-atm:before { + content: "\e2dd" +} + +.iconf-balance:before { + content: "\e2de" +} + +.iconf-bank-1:before { + content: "\e2df" +} + +.iconf-bank-2:before { + content: "\e2e0" +} + +.iconf-bank-note:before { + content: "\e2e1" +} + +.iconf-bank-notes-1:before { + content: "\e2e2" +} + +.iconf-bank-notes-2:before { + content: "\e2e3" +} + +.iconf-bitcoins:before { + content: "\e2e4" +} + +.iconf-board-1:before { + content: "\e2e5" +} + +.iconf-box-1:before { + content: "\e2e6" +} + +.iconf-box-2:before { + content: "\e2e7" +} + +.iconf-box-3:before { + content: "\e2e8" +} + +.iconf-box-download:before { + content: "\e2e9" +} + +.iconf-box-shipping:before { + content: "\e2ea" +} + +.iconf-box-upload:before { + content: "\e2eb" +} + +.iconf-business-chart-1:before { + content: "\e2ec" +} + +.iconf-business-chart-2:before { + content: "\e2ed" +} + +.iconf-calculator-1:before { + content: "\e2ee" +} + +.iconf-calculator-2:before { + content: "\e2ef" +} + +.iconf-calculator-3:before { + content: "\e2f0" +} + +.iconf-cash-register:before { + content: "\e2f1" +} + +.iconf-chart-board:before { + content: "\e2f2" +} + +.iconf-chart-down:before { + content: "\e2f3" +} + +.iconf-chart-up:before { + content: "\e2f4" +} + +.iconf-check:before { + content: "\e2f5" +} + +.iconf-coins-1:before { + content: "\e2f6" +} + +.iconf-coins-2:before { + content: "\e2f7" +} + +.iconf-court:before { + content: "\e2f8" +} + +.iconf-credit-card:before { + content: "\e2f9" +} + +.iconf-credit-card-lock:before { + content: "\e2fa" +} + +.iconf-delivery:before { + content: "\e2fb" +} + +.iconf-dollar-bag:before { + content: "\e2fc" +} + +.iconf-dollar-currency-1:before { + content: "\e2fd" +} + +.iconf-dollar-currency-2:before { + content: "\e2fe" +} + +.iconf-dollar-currency-3:before { + content: "\e2ff" +} + +.iconf-dollar-currency-4:before { + content: "\e300" +} + +.iconf-euro-bag:before { + content: "\e301" +} + +.iconf-euro-currency-1:before { + content: "\e302" +} + +.iconf-euro-currency-2:before { + content: "\e303" +} + +.iconf-euro-currency-3:before { + content: "\e304" +} + +.iconf-euro-currency-4:before { + content: "\e305" +} + +.iconf-forklift:before { + content: "\e306" +} + +.iconf-hand-card:before { + content: "\e307" +} + +.iconf-hand-coin:before { + content: "\e308" +} + +.iconf-keynote:before { + content: "\e309" +} + +.iconf-master-card:before { + content: "\e30a" +} + +.iconf-money:before { + content: "\e30b" +} + +.iconf-parking-meter:before { + content: "\e30c" +} + +.iconf-percent-1:before { + content: "\e30d" +} + +.iconf-percent-2:before { + content: "\e30e" +} + +.iconf-percent-3:before { + content: "\e30f" +} + +.iconf-percent-4:before { + content: "\e310" +} + +.iconf-percent-5:before { + content: "\e311" +} + +.iconf-percent-up:before { + content: "\e312" +} + +.iconf-pie-chart-1:before { + content: "\e313" +} + +.iconf-pie-chart-2:before { + content: "\e314" +} + +.iconf-piggy-bank:before { + content: "\e315" +} + +.iconf-pound-currency-1:before { + content: "\e316" +} + +.iconf-pound-currency-2:before { + content: "\e317" +} + +.iconf-pound-currency-3:before { + content: "\e318" +} + +.iconf-pound-currency-4:before { + content: "\e319" +} + +.iconf-safe-1:before { + content: "\e31a" +} + +.iconf-safe-2:before { + content: "\e31b" +} + +.iconf-shop:before { + content: "\e31c" +} + +.iconf-sign:before { + content: "\e31d" +} + +.iconf-trolley:before { + content: "\e31e" +} + +.iconf-truck-1:before { + content: "\e31f" +} + +.iconf-truck-2:before { + content: "\e320" +} + +.iconf-visa-card:before { + content: "\e321" +} + +.iconf-yen-currency-1:before { + content: "\e322" +} + +.iconf-yen-currency-2:before { + content: "\e323" +} + +.iconf-yen-currency-3:before { + content: "\e324" +} + +.iconf-yen-currency-4:before { + content: "\e325" +} + +.iconf-add-marker-1:before { + content: "\e326" +} + +.iconf-add-marker-2:before { + content: "\e327" +} + +.iconf-add-marker-3:before { + content: "\e328" +} + +.iconf-add-marker-4:before { + content: "\e329" +} + +.iconf-add-marker-5:before { + content: "\e32a" +} + +.iconf-compass-1:before { + content: "\e32b" +} + +.iconf-compass-2:before { + content: "\e32c" +} + +.iconf-compass-3:before { + content: "\e32d" +} + +.iconf-delete-marker-1:before { + content: "\e32e" +} + +.iconf-delete-marker-2:before { + content: "\e32f" +} + +.iconf-delete-marker-3:before { + content: "\e330" +} + +.iconf-delete-marker-4:before { + content: "\e331" +} + +.iconf-delete-marker-5:before { + content: "\e332" +} + +.iconf-favorite-marker:before { + content: "\e333" +} + +.iconf-favorite-marker-1:before { + content: "\e334" +} + +.iconf-favorite-marker-2:before { + content: "\e335" +} + +.iconf-favorite-marker-3:before { + content: "\e336" +} + +.iconf-globe:before { + content: "\e337" +} + +.iconf-location:before { + content: "\e338" +} + +.iconf-map-1:before { + content: "\e339" +} + +.iconf-map-location:before { + content: "\e33a" +} + +.iconf-map-marker-1:before { + content: "\e33b" +} + +.iconf-map-marker-2:before { + content: "\e33c" +} + +.iconf-map-marker-3:before { + content: "\e33d" +} + +.iconf-map-marker-4:before { + content: "\e33e" +} + +.iconf-map-pin:before { + content: "\e33f" +} + +.iconf-map-pin-marker:before { + content: "\e340" +} + +.iconf-marker-1:before { + content: "\e341" +} + +.iconf-marker-2:before { + content: "\e342" +} + +.iconf-marker-3:before { + content: "\e343" +} + +.iconf-marker-4:before { + content: "\e344" +} + +.iconf-minus-marker-1:before { + content: "\e345" +} + +.iconf-minus-marker-2:before { + content: "\e346" +} + +.iconf-minus-marker-3:before { + content: "\e347" +} + +.iconf-minus-marker-4:before { + content: "\e348" +} + +.iconf-pin-1-1:before { + content: "\e349" +} + +.iconf-pin-2-1:before { + content: "\e34a" +} + +.iconf-pin-location:before { + content: "\e34b" +} + +.iconf-anchor:before { + content: "\e34c" +} + +.iconf-bank:before { + content: "\e34d" +} + +.iconf-beach:before { + content: "\e34e" +} + +.iconf-boat:before { + content: "\e34f" +} + +.iconf-building-1:before { + content: "\e350" +} + +.iconf-building-2:before { + content: "\e351" +} + +.iconf-building-3:before { + content: "\e352" +} + +.iconf-buildings-1:before { + content: "\e353" +} + +.iconf-buildings-2:before { + content: "\e354" +} + +.iconf-buildings-3:before { + content: "\e355" +} + +.iconf-buildings-4:before { + content: "\e356" +} + +.iconf-castle:before { + content: "\e357" +} + +.iconf-column:before { + content: "\e358" +} + +.iconf-direction-sign:before { + content: "\e359" +} + +.iconf-factory:before { + content: "\e35a" +} + +.iconf-fence:before { + content: "\e35b" +} + +.iconf-garage:before { + content: "\e35c" +} + +.iconf-globe-1:before { + content: "\e35d" +} + +.iconf-globe-2:before { + content: "\e35e" +} + +.iconf-house-1:before { + content: "\e35f" +} + +.iconf-house-2:before { + content: "\e360" +} + +.iconf-house-3:before { + content: "\e361" +} + +.iconf-house-4:before { + content: "\e362" +} + +.iconf-library:before { + content: "\e363" +} + +.iconf-light-house:before { + content: "\e364" +} + +.iconf-pine-tree:before { + content: "\e365" +} + +.iconf-pisa:before { + content: "\e366" +} + +.iconf-skyscraper:before { + content: "\e367" +} + +.iconf-temple:before { + content: "\e368" +} + +.iconf-treasure-map:before { + content: "\e369" +} + +.iconf-tree:before { + content: "\e36a" +} + +.iconf-attention:before { + content: "\e36b" +} + +.iconf-bug-1:before { + content: "\e36c" +} + +.iconf-bug-2:before { + content: "\e36d" +} + +.iconf-css3:before { + content: "\e36e" +} + +.iconf-firewall:before { + content: "\e36f" +} + +.iconf-html5:before { + content: "\e370" +} + +.iconf-plugin-1:before { + content: "\e371" +} + +.iconf-plugin-2:before { + content: "\e372" +} + +.iconf-script:before { + content: "\e373" +} + +.iconf-new-window:before { + content: "\e374" +} + +.iconf-window-1:before { + content: "\e375" +} + +.iconf-window-2:before { + content: "\e376" +} + +.iconf-window-3:before { + content: "\e377" +} + +.iconf-window-add:before { + content: "\e378" +} + +.iconf-window-alert:before { + content: "\e379" +} + +.iconf-window-check:before { + content: "\e37a" +} + +.iconf-window-code-1:before { + content: "\e37b" +} + +.iconf-window-code-2:before { + content: "\e37c" +} + +.iconf-window-code-3:before { + content: "\e37d" +} + +.iconf-window-column:before { + content: "\e37e" +} + +.iconf-window-delete:before { + content: "\e37f" +} + +.iconf-window-denied:before { + content: "\e380" +} + +.iconf-window-download-1:before { + content: "\e381" +} + +.iconf-window-download-2:before { + content: "\e382" +} + +.iconf-window-edit:before { + content: "\e383" +} + +.iconf-window-favorite-1:before { + content: "\e384" +} + +.iconf-window-favorite-2:before { + content: "\e385" +} + +.iconf-window-graph-1:before { + content: "\e386" +} + +.iconf-window-graph-2:before { + content: "\e387" +} + +.iconf-window-hand:before { + content: "\e388" +} + +.iconf-window-home:before { + content: "\e389" +} + +.iconf-window-list-1:before { + content: "\e38a" +} + +.iconf-window-list-2:before { + content: "\e38b" +} + +.iconf-window-lock:before { + content: "\e38c" +} + +.iconf-window-minimize:before { + content: "\e38d" +} + +.iconf-window-minus:before { + content: "\e38e" +} + +.iconf-window-refresh:before { + content: "\e38f" +} + +.iconf-window-registry:before { + content: "\e390" +} + +.iconf-window-search:before { + content: "\e391" +} + +.iconf-window-selection-1:before { + content: "\e392" +} + +.iconf-window-selection-2:before { + content: "\e393" +} + +.iconf-window-setting:before { + content: "\e394" +} + +.iconf-window-sync:before { + content: "\e395" +} + +.iconf-window-thumbnail-1:before { + content: "\e396" +} + +.iconf-window-thumbnail-2:before { + content: "\e397" +} + +.iconf-window-time:before { + content: "\e398" +} + +.iconf-window-upload-1:before { + content: "\e399" +} + +.iconf-window-upload-2:before { + content: "\e39a" +} + +.iconf-database:before { + content: "\e39b" +} + +.iconf-database-alert:before { + content: "\e39c" +} + +.iconf-database-block:before { + content: "\e39d" +} + +.iconf-database-check:before { + content: "\e39e" +} + +.iconf-database-delete:before { + content: "\e39f" +} + +.iconf-database-download:before { + content: "\e3a0" +} + +.iconf-database-editor:before { + content: "\e3a1" +} + +.iconf-database-lock:before { + content: "\e3a2" +} + +.iconf-database-minus:before { + content: "\e3a3" +} + +.iconf-database-network:before { + content: "\e3a4" +} + +.iconf-database-plus:before { + content: "\e3a5" +} + +.iconf-database-refresh:before { + content: "\e3a6" +} + +.iconf-database-search:before { + content: "\e3a7" +} + +.iconf-database-setting:before { + content: "\e3a8" +} + +.iconf-database-sync:before { + content: "\e3a9" +} + +.iconf-database-time:before { + content: "\e3aa" +} + +.iconf-database-upload:before { + content: "\e3ab" +} + +.iconf-battery-charging:before { + content: "\e3ac" +} + +.iconf-battery-full:before { + content: "\e3ad" +} + +.iconf-battery-high:before { + content: "\e3ae" +} + +.iconf-battery-low:before { + content: "\e3af" +} + +.iconf-battery-medium:before { + content: "\e3b0" +} + +.iconf-cd-1:before { + content: "\e3b1" +} + +.iconf-cd-2:before { + content: "\e3b2" +} + +.iconf-chip:before { + content: "\e3b3" +} + +.iconf-computer:before { + content: "\e3b4" +} + +.iconf-disc:before { + content: "\e3b5" +} + +.iconf-filter:before { + content: "\e3b6" +} + +.iconf-floppy-disk:before { + content: "\e3b7" +} + +.iconf-gameboy:before { + content: "\e3b8" +} + +.iconf-harddisk-1:before { + content: "\e3b9" +} + +.iconf-harddisk-2:before { + content: "\e3ba" +} + +.iconf-imac:before { + content: "\e3bb" +} + +.iconf-ipad-1:before { + content: "\e3bc" +} + +.iconf-ipad-2:before { + content: "\e3bd" +} + +.iconf-ipod:before { + content: "\e3be" +} + +.iconf-joystick-1:before { + content: "\e3bf" +} + +.iconf-joystick-2:before { + content: "\e3c0" +} + +.iconf-joystick-3:before { + content: "\e3c1" +} + +.iconf-keyboard-1:before { + content: "\e3c2" +} + +.iconf-keyboard-2:before { + content: "\e3c3" +} + +.iconf-kindle-1:before { + content: "\e3c4" +} + +.iconf-kindle-2:before { + content: "\e3c5" +} + +.iconf-laptop-1:before { + content: "\e3c6" +} + +.iconf-laptop-2:before { + content: "\e3c7" +} + +.iconf-memory-card:before { + content: "\e3c8" +} + +.iconf-mobile-phone:before { + content: "\e3c9" +} + +.iconf-mouse-1:before { + content: "\e3ca" +} + +.iconf-mouse-2:before { + content: "\e3cb" +} + +.iconf-mp3player:before { + content: "\e3cc" +} + +.iconf-plug-1:before { + content: "\e3cd" +} + +.iconf-plug-2:before { + content: "\e3ce" +} + +.iconf-plug-slot:before { + content: "\e3cf" +} + +.iconf-printer:before { + content: "\e3d0" +} + +.iconf-projector:before { + content: "\e3d1" +} + +.iconf-remote:before { + content: "\e3d2" +} + +.iconf-router:before { + content: "\e3d3" +} + +.iconf-screen-1:before { + content: "\e3d4" +} + +.iconf-screen-2:before { + content: "\e3d5" +} + +.iconf-screen-3:before { + content: "\e3d6" +} + +.iconf-screen-4:before { + content: "\e3d7" +} + +.iconf-smartphone-1:before { + content: "\e3d8" +} + +.iconf-television-1:before { + content: "\e3d9" +} + +.iconf-typewriter-1:before { + content: "\e3da" +} + +.iconf-typewriter-2:before { + content: "\e3db" +} + +.iconf-usb-1:before { + content: "\e3dc" +} + +.iconf-usb-2:before { + content: "\e3dd" +} + +.iconf-webcam:before { + content: "\e3de" +} + +.iconf-wireless-router-1:before { + content: "\e3df" +} + +.iconf-wireless-router-2:before { + content: "\e3e0" +} + +.iconf-bluetooth:before { + content: "\e3e1" +} + +.iconf-ethernet:before { + content: "\e3e2" +} + +.iconf-ethernet-slot:before { + content: "\e3e3" +} + +.iconf-firewire-1:before { + content: "\e3e4" +} + +.iconf-firewire-2:before { + content: "\e3e5" +} + +.iconf-network-1:before { + content: "\e3e6" +} + +.iconf-network-2:before { + content: "\e3e7" +} + +.iconf-server-1:before { + content: "\e3e8" +} + +.iconf-server-2:before { + content: "\e3e9" +} + +.iconf-server-3:before { + content: "\e3ea" +} + +.iconf-usb:before { + content: "\e3eb" +} + +.iconf-wireless-signal:before { + content: "\e3ec" +} + +.iconf-book:before { + content: "\e3ed" +} + +.iconf-book-1:before { + content: "\e3ee" +} + +.iconf-book-2:before { + content: "\e3ef" +} + +.iconf-book-3:before { + content: "\e3f0" +} + +.iconf-book-4:before { + content: "\e3f1" +} + +.iconf-book-5:before { + content: "\e3f2" +} + +.iconf-book-6:before { + content: "\e3f3" +} + +.iconf-book-7:before { + content: "\e3f4" +} + +.iconf-book-download-1:before { + content: "\e3f5" +} + +.iconf-book-download-2:before { + content: "\e3f6" +} + +.iconf-book-favorite-1:before { + content: "\e3f7" +} + +.iconf-bookmark-1-1:before { + content: "\e3f8" +} + +.iconf-bookmark-2-1:before { + content: "\e3f9" +} + +.iconf-bookmark-3-1:before { + content: "\e3fa" +} + +.iconf-bookmark-4-1:before { + content: "\e3fb" +} + +.iconf-books-1:before { + content: "\e3fc" +} + +.iconf-books-2:before { + content: "\e3fd" +} + +.iconf-books-3:before { + content: "\e3fe" +} + +.iconf-briefcase-1:before { + content: "\e3ff" +} + +.iconf-contact-book-1:before { + content: "\e400" +} + +.iconf-contact-book-2:before { + content: "\e401" +} + +.iconf-contact-book-3:before { + content: "\e402" +} + +.iconf-contact-book-4:before { + content: "\e403" +} + +.iconf-copyright:before { + content: "\e404" +} + +.iconf-creative-commons:before { + content: "\e405" +} + +.iconf-cube:before { + content: "\e406" +} + +.iconf-data-filter:before { + content: "\e407" +} + +.iconf-document-box-1:before { + content: "\e408" +} + +.iconf-document-box-2:before { + content: "\e409" +} + +.iconf-document-box-3:before { + content: "\e40a" +} + +.iconf-drawer-1:before { + content: "\e40b" +} + +.iconf-drawer-2:before { + content: "\e40c" +} + +.iconf-drawer-3:before { + content: "\e40d" +} + +.iconf-envelope:before { + content: "\e40e" +} + +.iconf-favortie-book-2:before { + content: "\e40f" +} + +.iconf-file:before { + content: "\e410" +} + +.iconf-files:before { + content: "\e411" +} + +.iconf-filter-1:before { + content: "\e412" +} + +.iconf-filter-2:before { + content: "\e413" +} + +.iconf-layers-1:before { + content: "\e414" +} + +.iconf-list-1:before { + content: "\e415" +} + +.iconf-list-2:before { + content: "\e416" +} + +.iconf-newspaper-1:before { + content: "\e417" +} + +.iconf-newspaper-2:before { + content: "\e418" +} + +.iconf-registry-1:before { + content: "\e419" +} + +.iconf-registry-2:before { + content: "\e41a" +} + +.iconf-shield-1:before { + content: "\e41b" +} + +.iconf-shield-2:before { + content: "\e41c" +} + +.iconf-shield-3:before { + content: "\e41d" +} + +.iconf-sketchbook:before { + content: "\e41e" +} + +.iconf-sound-book:before { + content: "\e41f" +} + +.iconf-thumbnails-1:before { + content: "\e420" +} + +.iconf-thumbnails-2:before { + content: "\e421" +} + +.iconf-hierarchy-1:before { + content: "\e422" +} + +.iconf-hierarchy-2:before { + content: "\e423" +} + +.iconf-hierarchy-3:before { + content: "\e424" +} + +.iconf-hierarchy-4:before { + content: "\e425" +} + +.iconf-hierarchy-5:before { + content: "\e426" +} + +.iconf-hierarchy-6:before { + content: "\e427" +} + +.iconf-hierarchy-7:before { + content: "\e428" +} + +.iconf-hierarchy-8:before { + content: "\e429" +} + +.iconf-network-1-1:before { + content: "\e42a" +} + +.iconf-network-2-1:before { + content: "\e42b" +} + +.iconf-backpack:before { + content: "\e42c" +} + +.iconf-balance-1:before { + content: "\e42d" +} + +.iconf-bed:before { + content: "\e42e" +} + +.iconf-bench:before { + content: "\e42f" +} + +.iconf-bomb-1:before { + content: "\e430" +} + +.iconf-bricks:before { + content: "\e431" +} + +.iconf-bullets:before { + content: "\e432" +} + +.iconf-buoy-ring:before { + content: "\e433" +} + +.iconf-campfire:before { + content: "\e434" +} + +.iconf-can:before { + content: "\e435" +} + +.iconf-candle:before { + content: "\e436" +} + +.iconf-canon:before { + content: "\e437" +} + +.iconf-cctv-1:before { + content: "\e438" +} + +.iconf-cctv-2:before { + content: "\e439" +} + +.iconf-chair:before { + content: "\e43a" +} + +.iconf-chair-director:before { + content: "\e43b" +} + +.iconf-cigarette:before { + content: "\e43c" +} + +.iconf-construction-sign:before { + content: "\e43d" +} + +.iconf-diamond:before { + content: "\e43e" +} + +.iconf-disabled:before { + content: "\e43f" +} + +.iconf-door:before { + content: "\e440" +} + +.iconf-drawer:before { + content: "\e441" +} + +.iconf-driller:before { + content: "\e442" +} + +.iconf-dumbbell:before { + content: "\e443" +} + +.iconf-fire-extinguisher:before { + content: "\e444" +} + +.iconf-flashlight:before { + content: "\e445" +} + +.iconf-gas-station:before { + content: "\e446" +} + +.iconf-gun:before { + content: "\e447" +} + +.iconf-lamp-1:before { + content: "\e448" +} + +.iconf-lamp-2:before { + content: "\e449" +} + +.iconf-lamp-3:before { + content: "\e44a" +} + +.iconf-lamp-4:before { + content: "\e44b" +} + +.iconf-lightbulb-1:before { + content: "\e44c" +} + +.iconf-lightbulb-2:before { + content: "\e44d" +} + +.iconf-measuring-tape:before { + content: "\e44e" +} + +.iconf-mine-cart:before { + content: "\e44f" +} + +.iconf-missile:before { + content: "\e450" +} + +.iconf-ring:before { + content: "\e451" +} + +.iconf-scale-1:before { + content: "\e452" +} + +.iconf-shovel:before { + content: "\e453" +} + +.iconf-smoke-no:before { + content: "\e454" +} + +.iconf-sofa-1:before { + content: "\e455" +} + +.iconf-sofa-2:before { + content: "\e456" +} + +.iconf-sofa-3:before { + content: "\e457" +} + +.iconf-target:before { + content: "\e458" +} + +.iconf-torch:before { + content: "\e459" +} + +.iconf-traffic-cone:before { + content: "\e45a" +} + +.iconf-traffic-light-1:before { + content: "\e45b" +} + +.iconf-traffic-light-2:before { + content: "\e45c" +} + +.iconf-treasure-1:before { + content: "\e45d" +} + +.iconf-treasure-2:before { + content: "\e45e" +} + +.iconf-trowel:before { + content: "\e45f" +} + +.iconf-watering-can:before { + content: "\e460" +} + +.iconf-weigh:before { + content: "\e461" +} + +.iconf-academic-cap:before { + content: "\e462" +} + +.iconf-baseball-helmet:before { + content: "\e463" +} + +.iconf-beanie:before { + content: "\e464" +} + +.iconf-bike-helmet:before { + content: "\e465" +} + +.iconf-bow:before { + content: "\e466" +} + +.iconf-cap:before { + content: "\e467" +} + +.iconf-chaplin:before { + content: "\e468" +} + +.iconf-chef-hat:before { + content: "\e469" +} + +.iconf-cloth-hanger:before { + content: "\e46a" +} + +.iconf-fins:before { + content: "\e46b" +} + +.iconf-football-helmet:before { + content: "\e46c" +} + +.iconf-glasses:before { + content: "\e46d" +} + +.iconf-glasses-1:before { + content: "\e46e" +} + +.iconf-glasses-2:before { + content: "\e46f" +} + +.iconf-magician-hat:before { + content: "\e470" +} + +.iconf-monocle-1:before { + content: "\e471" +} + +.iconf-monocle-2:before { + content: "\e472" +} + +.iconf-necktie:before { + content: "\e473" +} + +.iconf-polo-shirt:before { + content: "\e474" +} + +.iconf-safety-helmet:before { + content: "\e475" +} + +.iconf-scuba-tank:before { + content: "\e476" +} + +.iconf-shirt-1:before { + content: "\e477" +} + +.iconf-shirt-2:before { + content: "\e478" +} + +.iconf-sneakers:before { + content: "\e479" +} + +.iconf-snorkel:before { + content: "\e47a" +} + +.iconf-sombrero:before { + content: "\e47b" +} + +.iconf-sunglasses:before { + content: "\e47c" +} + +.iconf-tall-hat:before { + content: "\e47d" +} + +.iconf-trousers:before { + content: "\e47e" +} + +.iconf-walking-stick:before { + content: "\e47f" +} + +.iconf-arrow-redo:before { + content: "\e480" +} + +.iconf-arrow-undo:before { + content: "\e481" +} + +.iconf-bold:before { + content: "\e482" +} + +.iconf-columns:before { + content: "\e483" +} + +.iconf-eraser:before { + content: "\e484" +} + +.iconf-font-color:before { + content: "\e485" +} + +.iconf-html:before { + content: "\e486" +} + +.iconf-italic:before { + content: "\e487" +} + +.iconf-list-1-1:before { + content: "\e488" +} + +.iconf-list-2-1:before { + content: "\e489" +} + +.iconf-list-3:before { + content: "\e48a" +} + +.iconf-list-4:before { + content: "\e48b" +} + +.iconf-paragraph:before { + content: "\e48c" +} + +.iconf-paste:before { + content: "\e48d" +} + +.iconf-print-preview:before { + content: "\e48e" +} + +.iconf-quote:before { + content: "\e48f" +} + +.iconf-strikethrough:before { + content: "\e490" +} + +.iconf-text:before { + content: "\e491" +} + +.iconf-text-wrapping-1:before { + content: "\e492" +} + +.iconf-text-wrapping-2:before { + content: "\e493" +} + +.iconf-text-wrapping-3:before { + content: "\e494" +} + +.iconf-underline:before { + content: "\e495" +} + +.iconf-align-center:before { + content: "\e496" +} + +.iconf-align-left:before { + content: "\e497" +} + +.iconf-align-right:before { + content: "\e498" +} + +.iconf-all-caps:before { + content: "\e499" +} + +.iconf-arrange-2-1:before { + content: "\e49a" +} + +.iconf-arrange-2-2:before { + content: "\e49b" +} + +.iconf-arrange-2-3:before { + content: "\e49c" +} + +.iconf-arrange-2-4:before { + content: "\e49d" +} + +.iconf-arrange-3-1:before { + content: "\e49e" +} + +.iconf-arrange-3-2:before { + content: "\e49f" +} + +.iconf-arrange-3-3:before { + content: "\e4a0" +} + +.iconf-arrange-3-4:before { + content: "\e4a1" +} + +.iconf-arrange-3-5:before { + content: "\e4a2" +} + +.iconf-arrange-4-1:before { + content: "\e4a3" +} + +.iconf-arrange-4-2:before { + content: "\e4a4" +} + +.iconf-arrange-4-3:before { + content: "\e4a5" +} + +.iconf-arrange-5:before { + content: "\e4a6" +} + +.iconf-consolidate-all:before { + content: "\e4a7" +} + +.iconf-decrease-indent-1:before { + content: "\e4a8" +} + +.iconf-decrease-indent-2:before { + content: "\e4a9" +} + +.iconf-horizontal-page:before { + content: "\e4aa" +} + +.iconf-increase-indent-1:before { + content: "\e4ab" +} + +.iconf-increase-indent-2:before { + content: "\e4ac" +} + +.iconf-justify:before { + content: "\e4ad" +} + +.iconf-leading-1:before { + content: "\e4ae" +} + +.iconf-leading-2:before { + content: "\e4af" +} + +.iconf-left-indent:before { + content: "\e4b0" +} + +.iconf-right-indent:before { + content: "\e4b1" +} + +.iconf-small-caps:before { + content: "\e4b2" +} + +.iconf-vertical-page:before { + content: "\e4b3" +} + +.iconf-alt-mac:before { + content: "\e4b4" +} + +.iconf-alt-windows:before { + content: "\e4b5" +} + +.iconf-arrow-down:before { + content: "\e4b6" +} + +.iconf-arrow-down-left:before { + content: "\e4b7" +} + +.iconf-arrow-down-right:before { + content: "\e4b8" +} + +.iconf-arrow-left:before { + content: "\e4b9" +} + +.iconf-arrow-right:before { + content: "\e4ba" +} + +.iconf-arrow-up:before { + content: "\e4bb" +} + +.iconf-arrow-up-left:before { + content: "\e4bc" +} + +.iconf-arrow-up-right:before { + content: "\e4bd" +} + +.iconf-asterisk-1:before { + content: "\e4be" +} + +.iconf-asterisk-2:before { + content: "\e4bf" +} + +.iconf-back-tab-1:before { + content: "\e4c0" +} + +.iconf-back-tab-2:before { + content: "\e4c1" +} + +.iconf-backward-delete:before { + content: "\e4c2" +} + +.iconf-blank:before { + content: "\e4c3" +} + +.iconf-eject:before { + content: "\e4c4" +} + +.iconf-enter-1:before { + content: "\e4c5" +} + +.iconf-enter-2:before { + content: "\e4c6" +} + +.iconf-escape:before { + content: "\e4c7" +} + +.iconf-page-down:before { + content: "\e4c8" +} + +.iconf-page-up:before { + content: "\e4c9" +} + +.iconf-return-1:before { + content: "\e4ca" +} + +.iconf-shift:before { + content: "\e4cb" +} + +.iconf-shift-2:before { + content: "\e4cc" +} + +.iconf-tab:before { + content: "\e4cd" +} + +.iconf-apple:before { + content: "\e4ce" +} + +.iconf-beer:before { + content: "\e4cf" +} + +.iconf-boil:before { + content: "\e4d0" +} + +.iconf-bottle-1:before { + content: "\e4d1" +} + +.iconf-bottle-2:before { + content: "\e4d2" +} + +.iconf-bottle-3:before { + content: "\e4d3" +} + +.iconf-bottle-4:before { + content: "\e4d4" +} + +.iconf-bread:before { + content: "\e4d5" +} + +.iconf-burger-1:before { + content: "\e4d6" +} + +.iconf-burger-2:before { + content: "\e4d7" +} + +.iconf-cake-1:before { + content: "\e4d8" +} + +.iconf-cake-2:before { + content: "\e4d9" +} + +.iconf-champagne:before { + content: "\e4da" +} + +.iconf-cheese:before { + content: "\e4db" +} + +.iconf-cocktail-1:before { + content: "\e4dc" +} + +.iconf-cocktail-2:before { + content: "\e4dd" +} + +.iconf-cocktail-3:before { + content: "\e4de" +} + +.iconf-coffee-cup-2:before { + content: "\e4df" +} + +.iconf-coffee-pot:before { + content: "\e4e0" +} + +.iconf-cup-2:before { + content: "\e4e1" +} + +.iconf-deep-fry:before { + content: "\e4e2" +} + +.iconf-energy-drink:before { + content: "\e4e3" +} + +.iconf-espresso-machine:before { + content: "\e4e4" +} + +.iconf-food-dome:before { + content: "\e4e5" +} + +.iconf-fork-and-knife:before { + content: "\e4e6" +} + +.iconf-fork-and-spoon:before { + content: "\e4e7" +} + +.iconf-grape:before { + content: "\e4e8" +} + +.iconf-grater:before { + content: "\e4e9" +} + +.iconf-grill:before { + content: "\e4ea" +} + +.iconf-hot-drinks-glass:before { + content: "\e4eb" +} + +.iconf-hotdog:before { + content: "\e4ec" +} + +.iconf-ice-cream-1:before { + content: "\e4ed" +} + +.iconf-ice-cream-2:before { + content: "\e4ee" +} + +.iconf-ice-cream-3:before { + content: "\e4ef" +} + +.iconf-ice-drinks-glass:before { + content: "\e4f0" +} + +.iconf-juicer:before { + content: "\e4f1" +} + +.iconf-kitchen-timer:before { + content: "\e4f2" +} + +.iconf-milk:before { + content: "\e4f3" +} + +.iconf-orange:before { + content: "\e4f4" +} + +.iconf-oven:before { + content: "\e4f5" +} + +.iconf-pan-fry:before { + content: "\e4f6" +} + +.iconf-pepper-salt:before { + content: "\e4f7" +} + +.iconf-pizza:before { + content: "\e4f8" +} + +.iconf-pop-corn:before { + content: "\e4f9" +} + +.iconf-serving:before { + content: "\e4fa" +} + +.iconf-soda:before { + content: "\e4fb" +} + +.iconf-soda-can-1:before { + content: "\e4fc" +} + +.iconf-soda-can-2:before { + content: "\e4fd" +} + +.iconf-steam:before { + content: "\e4fe" +} + +.iconf-tea-pot:before { + content: "\e4ff" +} + +.iconf-thermometer-high:before { + content: "\e500" +} + +.iconf-thermometer-low:before { + content: "\e501" +} + +.iconf-thermometer-medium:before { + content: "\e502" +} + +.iconf-water:before { + content: "\e503" +} + +.iconf-wine:before { + content: "\e504" +} + +.iconf-ambulance:before { + content: "\e505" +} + +.iconf-beaker-1:before { + content: "\e506" +} + +.iconf-beaker-2:before { + content: "\e507" +} + +.iconf-blood:before { + content: "\e508" +} + +.iconf-drug:before { + content: "\e509" +} + +.iconf-first-aid:before { + content: "\e50a" +} + +.iconf-hashish:before { + content: "\e50b" +} + +.iconf-heart-pulse:before { + content: "\e50c" +} + +.iconf-hospital-1:before { + content: "\e50d" +} + +.iconf-hospital-2:before { + content: "\e50e" +} + +.iconf-hospital-sign-1:before { + content: "\e50f" +} + +.iconf-hospital-sign-2:before { + content: "\e510" +} + +.iconf-hospital-sign-3:before { + content: "\e511" +} + +.iconf-medicine:before { + content: "\e512" +} + +.iconf-microscope:before { + content: "\e513" +} + +.iconf-mortar-and-pestle:before { + content: "\e514" +} + +.iconf-plaster:before { + content: "\e515" +} + +.iconf-pulse-graph-1:before { + content: "\e516" +} + +.iconf-pulse-graph-2:before { + content: "\e517" +} + +.iconf-pulse-graph-3:before { + content: "\e518" +} + +.iconf-red-cross:before { + content: "\e519" +} + +.iconf-stethoscope:before { + content: "\e51a" +} + +.iconf-syringe:before { + content: "\e51b" +} + +.iconf-yin-yang:before { + content: "\e51c" +} + +.iconf-balloon:before { + content: "\e51d" +} + +.iconf-briefcase-lock:before { + content: "\e51e" +} + +.iconf-card:before { + content: "\e51f" +} + +.iconf-cards-1:before { + content: "\e520" +} + +.iconf-cards-2:before { + content: "\e521" +} + +.iconf-curtain:before { + content: "\e522" +} + +.iconf-dice-1:before { + content: "\e523" +} + +.iconf-dice-2:before { + content: "\e524" +} + +.iconf-pacman:before { + content: "\e525" +} + +.iconf-pacman-ghost:before { + content: "\e526" +} + +.iconf-sign-1:before { + content: "\e527" +} + +.iconf-smiley-happy:before { + content: "\e528" +} + +.iconf-smiley-sad:before { + content: "\e529" +} + +.iconf-smileys:before { + content: "\e52a" +} + +.iconf-suitcase-1:before { + content: "\e52b" +} + +.iconf-suitcase-2:before { + content: "\e52c" +} + +.iconf-tetris:before { + content: "\e52d" +} + +.iconf-ticket-1:before { + content: "\e52e" +} + +.iconf-ticket-2:before { + content: "\e52f" +} + +.iconf-ticket-3:before { + content: "\e530" +} + +.iconf-virus:before { + content: "\e531" +} + +.iconf-cloud-1:before { + content: "\e532" +} + +.iconf-cloud-lightning:before { + content: "\e533" +} + +.iconf-clouds:before { + content: "\e534" +} + +.iconf-first-quarter-half-moon:before { + content: "\e535" +} + +.iconf-full-moon:before { + content: "\e536" +} + +.iconf-hail:before { + content: "\e537" +} + +.iconf-heavy-rain:before { + content: "\e538" +} + +.iconf-moon-cloud:before { + content: "\e539" +} + +.iconf-rain:before { + content: "\e53a" +} + +.iconf-rain-lightning:before { + content: "\e53b" +} + +.iconf-snow:before { + content: "\e53c" +} + +.iconf-sun:before { + content: "\e53d" +} + +.iconf-sun-cloud:before { + content: "\e53e" +} + +.iconf-thermometer:before { + content: "\e53f" +} + +.iconf-third-quarter-half-moon:before { + content: "\e540" +} + +.iconf-umbrella:before { + content: "\e541" +} + +.iconf-waning-crescent-moon:before { + content: "\e542" +} + +.iconf-waning-gibbous-moon:before { + content: "\e543" +} + +.iconf-waxing-crescent-moon:before { + content: "\e544" +} + +.iconf-waxing-gibbous-moon:before { + content: "\e545" +} + +.iconf-bicycle:before { + content: "\e546" +} + +.iconf-bus-1:before { + content: "\e547" +} + +.iconf-bus-2:before { + content: "\e548" +} + +.iconf-car-1:before { + content: "\e549" +} + +.iconf-car-2:before { + content: "\e54a" +} + +.iconf-car-3:before { + content: "\e54b" +} + +.iconf-car-4:before { + content: "\e54c" +} + +.iconf-helicopter:before { + content: "\e54d" +} + +.iconf-mountain-bike:before { + content: "\e54e" +} + +.iconf-pickup:before { + content: "\e54f" +} + +.iconf-plane-1:before { + content: "\e550" +} + +.iconf-plane-2:before { + content: "\e551" +} + +.iconf-plane-landing:before { + content: "\e552" +} + +.iconf-plane-takeoff:before { + content: "\e553" +} + +.iconf-road:before { + content: "\e554" +} + +.iconf-road-bike:before { + content: "\e555" +} + +.iconf-rocket:before { + content: "\e556" +} + +.iconf-scooter:before { + content: "\e557" +} + +.iconf-ship:before { + content: "\e558" +} + +.iconf-train:before { + content: "\e559" +} + +.iconf-tram:before { + content: "\e55a" +} + +.iconf-cactus:before { + content: "\e55b" +} + +.iconf-clover:before { + content: "\e55c" +} + +.iconf-flower:before { + content: "\e55d" +} + +.iconf-hand-eco:before { + content: "\e55e" +} + +.iconf-hand-globe:before { + content: "\e55f" +} + +.iconf-leaf:before { + content: "\e560" +} + +.iconf-light-eco:before { + content: "\e561" +} + +.iconf-potted-plant-1:before { + content: "\e562" +} + +.iconf-potted-plant-2:before { + content: "\e563" +} + +.iconf-2-fingers-down-swipe:before { + content: "\e564" +} + +.iconf-2-fingers-horizontal-swipe:before { + content: "\e565" +} + +.iconf-2-fingers-left-swipe:before { + content: "\e566" +} + +.iconf-2-fingers-omnidirectional-swipe:before { + content: "\e567" +} + +.iconf-2-fingers-right-swipe:before { + content: "\e568" +} + +.iconf-2-fingers-tab-hold:before { + content: "\e569" +} + +.iconf-2-fingers-tap:before { + content: "\e56a" +} + +.iconf-2-fingers-up-swipe:before { + content: "\e56b" +} + +.iconf-2-fingers-vertical-swipe:before { + content: "\e56c" +} + +.iconf-2finger-double-tap:before { + content: "\e56d" +} + +.iconf-double-tap:before { + content: "\e56e" +} + +.iconf-drag-down:before { + content: "\e56f" +} + +.iconf-drag-horizontal:before { + content: "\e570" +} + +.iconf-drag-left:before { + content: "\e571" +} + +.iconf-drag-right:before { + content: "\e572" +} + +.iconf-drag-up:before { + content: "\e573" +} + +.iconf-drag-vertical:before { + content: "\e574" +} + +.iconf-filck-down:before { + content: "\e575" +} + +.iconf-flick-up:before { + content: "\e576" +} + +.iconf-horizontal-flick:before { + content: "\e577" +} + +.iconf-left-flick:before { + content: "\e578" +} + +.iconf-omnidirectional-drag:before { + content: "\e579" +} + +.iconf-omnidirectional-flick:before { + content: "\e57a" +} + +.iconf-omnidirectional-swipe:before { + content: "\e57b" +} + +.iconf-pinch:before { + content: "\e57c" +} + +.iconf-right-flick:before { + content: "\e57d" +} + +.iconf-rotate-clockwise:before { + content: "\e57e" +} + +.iconf-rotate-counterclockwise:before { + content: "\e57f" +} + +.iconf-spread:before { + content: "\e580" +} + +.iconf-swipe-down:before { + content: "\e581" +} + +.iconf-swipe-horizontal:before { + content: "\e582" +} + +.iconf-swipe-left:before { + content: "\e583" +} + +.iconf-swipe-right:before { + content: "\e584" +} + +.iconf-swipe-up:before { + content: "\e585" +} + +.iconf-swipe-vertical:before { + content: "\e586" +} + +.iconf-tap:before { + content: "\e587" +} + +.iconf-tap-hold:before { + content: "\e588" +} + +.iconf-vertical-flick:before { + content: "\e589" +} + +.iconf-arrow-1-1:before { + content: "\e58a" +} + +.iconf-arrow-2-1:before { + content: "\e58b" +} + +.iconf-arrow-3:before { + content: "\e58c" +} + +.iconf-arrow-4:before { + content: "\e58d" +} + +.iconf-arrow-5:before { + content: "\e58e" +} + +.iconf-arrow-6:before { + content: "\e58f" +} + +.iconf-arrow-7:before { + content: "\e590" +} + +.iconf-arrow-8:before { + content: "\e591" +} + +.iconf-arrow-9:before { + content: "\e592" +} + +.iconf-arrow-10:before { + content: "\e593" +} + +.iconf-arrow-11:before { + content: "\e594" +} + +.iconf-arrow-12:before { + content: "\e595" +} + +.iconf-arrow-13:before { + content: "\e596" +} + +.iconf-arrow-14:before { + content: "\e597" +} + +.iconf-arrow-15:before { + content: "\e598" +} + +.iconf-arrow-16:before { + content: "\e599" +} + +.iconf-arrow-17:before { + content: "\e59a" +} + +.iconf-arrow-18:before { + content: "\e59b" +} + +.iconf-arrow-19:before { + content: "\e59c" +} + +.iconf-arrow-20:before { + content: "\e59d" +} + +.iconf-arrow-21:before { + content: "\e59e" +} + +.iconf-arrow-22:before { + content: "\e59f" +} + +.iconf-arrow-23:before { + content: "\e5a0" +} + +.iconf-arrow-24:before { + content: "\e5a1" +} + +.iconf-arrow-25:before { + content: "\e5a2" +} + +.iconf-arrow-26:before { + content: "\e5a3" +} + +.iconf-arrow-27:before { + content: "\e5a4" +} + +.iconf-arrow-28:before { + content: "\e5a5" +} + +.iconf-arrow-29:before { + content: "\e5a6" +} + +.iconf-arrow-30:before { + content: "\e5a7" +} + +.iconf-arrow-31:before { + content: "\e5a8" +} + +.iconf-arrow-32:before { + content: "\e5a9" +} + +.iconf-arrow-33:before { + content: "\e5aa" +} + +.iconf-arrow-34:before { + content: "\e5ab" +} + +.iconf-arrow-35:before { + content: "\e5ac" +} + +.iconf-arrow-36:before { + content: "\e5ad" +} + +.iconf-arrow-37:before { + content: "\e5ae" +} + +.iconf-arrow-38:before { + content: "\e5af" +} + +.iconf-arrow-39:before { + content: "\e5b0" +} + +.iconf-arrow-40:before { + content: "\e5b1" +} + +.iconf-arrow-41:before { + content: "\e5b2" +} + +.iconf-arrow-42:before { + content: "\e5b3" +} + +.iconf-arrow-43:before { + content: "\e5b4" +} + +.iconf-arrow-44:before { + content: "\e5b5" +} + +.iconf-arrow-45:before { + content: "\e5b6" +} + +.iconf-arrow-46:before { + content: "\e5b7" +} + +.iconf-arrow-47:before { + content: "\e5b8" +} + +.iconf-arrow-48:before { + content: "\e5b9" +} + +.iconf-arrow-49:before { + content: "\e5ba" +} + +.iconf-arrow-50:before { + content: "\e5bb" +} + +.iconf-arrow-51:before { + content: "\e5bc" +} + +.iconf-arrow-52:before { + content: "\e5bd" +} + +.iconf-arrow-53:before { + content: "\e5be" +} + +.iconf-arrow-54:before { + content: "\e5bf" +} + +.iconf-arrow-55:before { + content: "\e5c0" +} + +.iconf-arrow-56:before { + content: "\e5c1" +} + +.iconf-arrow-57:before { + content: "\e5c2" +} + +.iconf-arrow-58:before { + content: "\e5c3" +} + +.iconf-arrow-59:before { + content: "\e5c4" +} + +.iconf-arrow-60:before { + content: "\e5c5" +} + +.iconf-arrow-61:before { + content: "\e5c6" +} + +.iconf-arrow-62:before { + content: "\e5c7" +} + +.iconf-arrow-63:before { + content: "\e5c8" +} + +.iconf-arrow-64:before { + content: "\e5c9" +} + +.iconf-arrow-65:before { + content: "\e5ca" +} + +.iconf-arrow-66:before { + content: "\e5cb" +} + +.iconf-arrow-67:before { + content: "\e5cc" +} + +.iconf-arrow-68:before { + content: "\e5cd" +} + +.iconf-arrow-69:before { + content: "\e5ce" +} + +.iconf-arrow-70:before { + content: "\e5cf" +} + +.iconf-arrow-71:before { + content: "\e5d0" +} + +.iconf-arrow-72:before { + content: "\e5d1" +} + +.iconf-arrow-circle-1:before { + content: "\e5d2" +} + +.iconf-arrow-circle-2:before { + content: "\e5d3" +} + +.iconf-arrow-circle-3:before { + content: "\e5d4" +} + +.iconf-arrow-circle-4:before { + content: "\e5d5" +} + +.iconf-arrow-circle-5:before { + content: "\e5d6" +} + +.iconf-arrow-circle-6:before { + content: "\e5d7" +} + +.iconf-arrow-circle-7:before { + content: "\e5d8" +} + +.iconf-arrow-circle-8:before { + content: "\e5d9" +} + +.iconf-arrow-circle-9:before { + content: "\e5da" +} + +.iconf-arrow-circle-10:before { + content: "\e5db" +} + +.iconf-arrow-circle-11:before { + content: "\e5dc" +} + +.iconf-arrow-circle-12:before { + content: "\e5dd" +} + +.iconf-arrow-circle-13:before { + content: "\e5de" +} + +.iconf-arrow-circle-14:before { + content: "\e5df" +} + +.iconf-arrow-circle-15:before { + content: "\e5e0" +} + +.iconf-arrow-circle-16:before { + content: "\e5e1" +} + +.iconf-arrow-circle-17:before { + content: "\e5e2" +} + +.iconf-arrow-circle-18:before { + content: "\e5e3" +} + +.iconf-arrow-circle-19:before { + content: "\e5e4" +} + +.iconf-arrow-circle-20:before { + content: "\e5e5" +} + +.iconf-arrow-circle-21:before { + content: "\e5e6" +} + +.iconf-arrow-circle-22:before { + content: "\e5e7" +} + +.iconf-arrow-circle-23:before { + content: "\e5e8" +} + +.iconf-arrow-circle-24:before { + content: "\e5e9" +} + +.iconf-arrow-circle-25:before { + content: "\e5ea" +} + +.iconf-arrow-circle-26:before { + content: "\e5eb" +} + +.iconf-arrow-circle-27:before { + content: "\e5ec" +} + +.iconf-arrow-circle-28:before { + content: "\e5ed" +} + +.iconf-arrow-circle-29:before { + content: "\e5ee" +} + +.iconf-arrow-circle-30:before { + content: "\e5ef" +} + +.iconf-arrow-delete-1:before { + content: "\e5f0" +} + +.iconf-arrow-delete-2:before { + content: "\e5f1" +} + +.iconf-arrow-dot-1:before { + content: "\e5f2" +} + +.iconf-arrow-dot-2:before { + content: "\e5f3" +} + +.iconf-arrow-dot-3:before { + content: "\e5f4" +} + +.iconf-arrow-dot-4:before { + content: "\e5f5" +} + +.iconf-arrow-dot-5:before { + content: "\e5f6" +} + +.iconf-arrow-dot-6:before { + content: "\e5f7" +} + +.iconf-arrow-rectangle-1:before { + content: "\e5f8" +} + +.iconf-arrow-rectangle-2:before { + content: "\e5f9" +} + +.iconf-arrow-rectangle-3:before { + content: "\e5fa" +} + +.iconf-arrow-rectangle-4:before { + content: "\e5fb" +} + +.iconf-arrow-rectangle-5:before { + content: "\e5fc" +} + +.iconf-arrow-rectangle-6:before { + content: "\e5fd" +} + +.iconf-arrow-rectangle-7:before { + content: "\e5fe" +} + +.iconf-arrow-rectangle-8:before { + content: "\e5ff" +} + +.iconf-arrow-rectangle-9:before { + content: "\e600" +} + +.iconf-arrow-rectangle-10:before { + content: "\e601" +} + +.iconf-arrow-rectangle-11:before { + content: "\e602" +} + +.iconf-arrow-rectangle-12:before { + content: "\e603" +} + +.iconf-arrow-rectangle-13:before { + content: "\e604" +} + +.iconf-arrow-rectangle-14:before { + content: "\e605" +} + +.iconf-arrow-rectangle-15:before { + content: "\e606" +} + +.iconf-arrow-rectangle-16:before { + content: "\e607" +} + +.iconf-arrow-rectangle-17:before { + content: "\e608" +} + +.iconf-arrow-rectangle-18:before { + content: "\e609" +} + +.iconf-arrow-rectangle-19:before { + content: "\e60a" +} + +.iconf-arrow-rectangle-20:before { + content: "\e60b" +} + +@font-face { + font-family: "FontMfizz"; + src: url(/assets/font-mfizz-f24d97212f753e04857960c5bbec813d3c465301c52046e9412e854393f8fba6.eot); + src: url(/assets/font-mfizz-f24d97212f753e04857960c5bbec813d3c465301c52046e9412e854393f8fba6.eot?#iefix) format("embedded-opentype"), url(/assets/font-mfizz-1073229a5fb20b903a7f7647a5fcca11865335b52b1fdc992eff5ae2c3241950.woff) format("woff"), url(/assets/font-mfizz-42d3c90b658f28a9f9ceb84279c454c4bc39acb1dedf07bce034bda55dcd6602.ttf) format("truetype"), url(/assets/font-mfizz-256df18bbba8ba98e5f6b3916c46389487fd455e2b869714e3a599b18bb9fabc.svg#font-mfizz) format("svg"); + font-weight: normal; + font-style: normal +} + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + @font-face { + font-family: "FontMfizz"; + src: url(/assets/font-mfizz-256df18bbba8ba98e5f6b3916c46389487fd455e2b869714e3a599b18bb9fabc.svg#font-mfizz) format("svg") + } +} + +[data-icon]:before { + content: attr(data-icon) +} + +[data-icon]:before, +i.icon-3dprint:before, +i.icon-angular:before, +i.icon-antenna:before, +i.icon-apache:before, +i.icon-archlinux:before, +i.icon-aws:before, +i.icon-blackberry:before, +i.icon-bomb:before, +i.icon-c:before, +i.icon-cassandra:before, +i.icon-centos:before, +i.icon-clojure:before, +i.icon-coffee-bean:before, +i.icon-cplusplus:before, +i.icon-csharp:before, +i.icon-css:before, +i.icon-database:before, +i.icon-database-alt:before, +i.icon-database-alt2:before, +i.icon-debian:before, +i.icon-docker:before, +i.icon-dreamhost:before, +i.icon-elixir:before, +i.icon-erlang:before, +i.icon-exherbo:before, +i.icon-fedora:before, +i.icon-fire-alt:before, +i.icon-freebsd:before, +i.icon-gentoo:before, +i.icon-ghost:before, +i.icon-git:before, +i.icon-gnome:before, +i.icon-google:before, +i.icon-google-alt:before, +i.icon-google-code:before, +i.icon-google-developers:before, +i.icon-gradle:before, +i.icon-grails:before, +i.icon-grails-alt:before, +i.icon-grunt:before, +i.icon-hadoop:before, +i.icon-haskell:before, +i.icon-heroku:before, +i.icon-html:before, +i.icon-iphone:before, +i.icon-java:before, +i.icon-java-bold:before, +i.icon-java-duke:before, +i.icon-javascript:before, +i.icon-javascript-alt:before, +i.icon-jetty:before, +i.icon-kde:before, +i.icon-laravel:before, +i.icon-line-graph:before, +i.icon-linux-mint:before, +i.icon-looking:before, +i.icon-mariadb:before, +i.icon-maven:before, +i.icon-microscope:before, +i.icon-mobile-device:before, +i.icon-mobile-phone-alt:before, +i.icon-mobile-phone-broadcast:before, +i.icon-mongodb:before, +i.icon-mssql:before, +i.icon-mysql:before, +i.icon-mysql-alt:before, +i.icon-netbsd:before, +i.icon-nginx:before, +i.icon-nginx-alt:before, +i.icon-nginx-alt2:before, +i.icon-nodejs:before, +i.icon-objc:before, +i.icon-oracle:before, +i.icon-oracle-alt:before, +i.icon-osx:before, +i.icon-perl:before, +i.icon-phone-alt:before, +i.icon-phone-gap:before, +i.icon-phone-retro:before, +i.icon-php:before, +i.icon-php-alt:before, +i.icon-playframework:before, +i.icon-playframework-alt:before, +i.icon-plone:before, +i.icon-postgres:before, +i.icon-postgres-alt:before, +i.icon-python:before, +i.icon-raspberrypi:before, +i.icon-redhat:before, +i.icon-redis:before, +i.icon-ruby:before, +i.icon-ruby-on-rails:before, +i.icon-ruby-on-rails-alt:before, +i.icon-satellite:before, +i.icon-scala:before, +i.icon-scala-alt:before, +i.icon-script:before, +i.icon-script-alt:before, +i.icon-shell:before, +i.icon-solaris:before, +i.icon-splatter:before, +i.icon-spring:before, +i.icon-suse:before, +i.icon-svg:before, +i.icon-symfony:before, +i.icon-tomcat:before, +i.icon-ubuntu:before, +i.icon-wireless:before, +i.icon-wordpress:before { + display: inline-block; + font-family: "FontMfizz" !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + line-height: 1; + text-decoration: inherit; + text-rendering: optimizeLegibility; + text-transform: none; + font-smoothing: antialiased +} + +.icon-3dprint:before { + content: "\f100" +} + +.icon-angular:before { + content: "\f101" +} + +.icon-antenna:before { + content: "\f102" +} + +.icon-apache:before { + content: "\f103" +} + +.icon-archlinux:before { + content: "\f104" +} + +.icon-aws:before { + content: "\f105" +} + +.icon-blackberry:before { + content: "\f106" +} + +.icon-bomb:before { + content: "\f107" +} + +.icon-c:before { + content: "\f108" +} + +.icon-cassandra:before { + content: "\f109" +} + +.icon-centos:before { + content: "\f10a" +} + +.icon-clojure:before { + content: "\f10b" +} + +.icon-coffee-bean:before { + content: "\f10c" +} + +.icon-cplusplus:before { + content: "\f10d" +} + +.icon-csharp:before { + content: "\f10e" +} + +.icon-css:before { + content: "\f10f" +} + +.icon-database:before { + content: "\f110" +} + +.icon-database-alt:before { + content: "\f111" +} + +.icon-database-alt2:before { + content: "\f112" +} + +.icon-debian:before { + content: "\f113" +} + +.icon-docker:before { + content: "\f114" +} + +.icon-dreamhost:before { + content: "\f115" +} + +.icon-elixir:before { + content: "\f116" +} + +.icon-erlang:before { + content: "\f117" +} + +.icon-exherbo:before { + content: "\f118" +} + +.icon-fedora:before { + content: "\f119" +} + +.icon-fire-alt:before { + content: "\f11a" +} + +.icon-freebsd:before { + content: "\f11b" +} + +.icon-gentoo:before { + content: "\f11c" +} + +.icon-ghost:before { + content: "\f11d" +} + +.icon-git:before { + content: "\f11e" +} + +.icon-gnome:before { + content: "\f11f" +} + +.icon-google:before { + content: "\f120" +} + +.icon-google-alt:before { + content: "\f121" +} + +.icon-google-code:before { + content: "\f122" +} + +.icon-google-developers:before { + content: "\f123" +} + +.icon-gradle:before { + content: "\f124" +} + +.icon-grails:before { + content: "\f125" +} + +.icon-grails-alt:before { + content: "\f126" +} + +.icon-grunt:before { + content: "\f127" +} + +.icon-hadoop:before { + content: "\f128" +} + +.icon-haskell:before { + content: "\f129" +} + +.icon-heroku:before { + content: "\f12a" +} + +.icon-html:before { + content: "\f12b" +} + +.icon-iphone:before { + content: "\f12c" +} + +.icon-java:before { + content: "\f12d" +} + +.icon-java-bold:before { + content: "\f12e" +} + +.icon-java-duke:before { + content: "\f12f" +} + +.icon-javascript:before { + content: "\f130" +} + +.icon-javascript-alt:before { + content: "\f131" +} + +.icon-jetty:before { + content: "\f132" +} + +.icon-kde:before { + content: "\f133" +} + +.icon-laravel:before { + content: "\f134" +} + +.icon-line-graph:before { + content: "\f135" +} + +.icon-linux-mint:before { + content: "\f136" +} + +.icon-looking:before { + content: "\f137" +} + +.icon-mariadb:before { + content: "\f138" +} + +.icon-maven:before { + content: "\f139" +} + +.icon-microscope:before { + content: "\f13a" +} + +.icon-mobile-device:before { + content: "\f13b" +} + +.icon-mobile-phone-alt:before { + content: "\f13c" +} + +.icon-mobile-phone-broadcast:before { + content: "\f13d" +} + +.icon-mongodb:before { + content: "\f13e" +} + +.icon-mssql:before { + content: "\f13f" +} + +.icon-mysql:before { + content: "\f140" +} + +.icon-mysql-alt:before { + content: "\f141" +} + +.icon-netbsd:before { + content: "\f142" +} + +.icon-nginx:before { + content: "\f143" +} + +.icon-nginx-alt:before { + content: "\f144" +} + +.icon-nginx-alt2:before { + content: "\f145" +} + +.icon-nodejs:before { + content: "\f146" +} + +.icon-objc:before { + content: "\f147" +} + +.icon-oracle:before { + content: "\f148" +} + +.icon-oracle-alt:before { + content: "\f149" +} + +.icon-osx:before { + content: "\f14a" +} + +.icon-perl:before { + content: "\f14b" +} + +.icon-phone-alt:before { + content: "\f14c" +} + +.icon-phone-gap:before { + content: "\f14d" +} + +.icon-phone-retro:before { + content: "\f14e" +} + +.icon-php:before { + content: "\f14f" +} + +.icon-php-alt:before { + content: "\f150" +} + +.icon-playframework:before { + content: "\f151" +} + +.icon-playframework-alt:before { + content: "\f152" +} + +.icon-plone:before { + content: "\f153" +} + +.icon-postgres:before { + content: "\f154" +} + +.icon-postgres-alt:before { + content: "\f155" +} + +.icon-python:before { + content: "\f156" +} + +.icon-raspberrypi:before { + content: "\f157" +} + +.icon-redhat:before { + content: "\f158" +} + +.icon-redis:before { + content: "\f159" +} + +.icon-ruby:before { + content: "\f15a" +} + +.icon-ruby-on-rails:before { + content: "\f15b" +} + +.icon-ruby-on-rails-alt:before { + content: "\f15c" +} + +.icon-satellite:before { + content: "\f15d" +} + +.icon-scala:before { + content: "\f15e" +} + +.icon-scala-alt:before { + content: "\f15f" +} + +.icon-script:before { + content: "\f160" +} + +.icon-script-alt:before { + content: "\f161" +} + +.icon-shell:before { + content: "\f162" +} + +.icon-solaris:before { + content: "\f163" +} + +.icon-splatter:before { + content: "\f164" +} + +.icon-spring:before { + content: "\f165" +} + +.icon-suse:before { + content: "\f166" +} + +.icon-svg:before { + content: "\f167" +} + +.icon-symfony:before { + content: "\f168" +} + +.icon-tomcat:before { + content: "\f169" +} + +.icon-ubuntu:before { + content: "\f16a" +} + +.icon-wireless:before { + content: "\f16b" +} + +.icon-wordpress:before { + content: "\f16c" +} + +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; +} + +body { + margin: 0 +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline +} + +audio:not([controls]) { + display: none; + height: 0 +} + +[hidden], +template { + display: none +} + +a { + background-color: transparent +} + +a:active, +a:hover { + outline: 0 +} + +abbr[title] { + border-bottom: 1px dotted +} + +b, +strong { + font-weight: bold +} + +dfn { + font-style: italic +} + +h1 { + font-size: 2em; + margin: 0.67em 0 +} + +mark { + background: #ff0; + color: #000 +} + +small { + font-size: 80% +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sup { + top: -0.5em +} + +sub { + bottom: -0.25em +} + +img { + border: 0 +} + +svg:not(:root) { + overflow: hidden +} + +figure { + margin: 1em 40px +} + +hr { + box-sizing: content-box; + height: 0 +} + +pre { + overflow: auto +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0 +} + +button { + overflow: visible +} + +button, +select { + text-transform: none +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer +} + +button[disabled], +html input[disabled] { + cursor: default +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0 +} + +input { + line-height: normal +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0 +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto +} + +input[type="search"] { + box-sizing: content-box +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration {} + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em +} + +legend { + border: 0; + padding: 0 +} + +textarea { + overflow: auto +} + +optgroup { + font-weight: bold +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +td, +th { + padding: 0 +} + +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important + } + + a, + a:visited { + text-decoration: underline + } + + a[href]:after { + content: " (" attr(href) ")" + } + + abbr[title]:after { + content: " (" attr(title) ")" + } + + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: "" + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid + } + + thead { + display: table-header-group + } + + tr, + img { + page-break-inside: avoid + } + + img { + max-width: 100% !important + } + + p, + h2, + h3 { + orphans: 3; + widows: 3 + } + + h2, + h3 { + page-break-after: avoid + } + + .navbar { + display: none + } + + .btn>.caret, + .dropup>.btn>.caret { + border-top-color: #000 !important + } + + .label { + border: 1px solid #000 + } + + .table { + border-collapse: collapse !important + } + + .table td, + .table th { + background-color: #fff !important + } + + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important + } +} + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot"); + src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg") +} + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; +} + +.glyphicon-asterisk:before { + content: "\2a" +} + +.glyphicon-plus:before { + content: "\2b" +} + +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac" +} + +.glyphicon-minus:before { + content: "\2212" +} + +.glyphicon-cloud:before { + content: "\2601" +} + +.glyphicon-envelope:before { + content: "\2709" +} + +.glyphicon-pencil:before { + content: "\270f" +} + +.glyphicon-glass:before { + content: "\e001" +} + +.glyphicon-music:before { + content: "\e002" +} + +.glyphicon-search:before { + content: "\e003" +} + +.glyphicon-heart:before { + content: "\e005" +} + +.glyphicon-star:before { + content: "\e006" +} + +.glyphicon-star-empty:before { + content: "\e007" +} + +.glyphicon-user:before { + content: "\e008" +} + +.glyphicon-film:before { + content: "\e009" +} + +.glyphicon-th-large:before { + content: "\e010" +} + +.glyphicon-th:before { + content: "\e011" +} + +.glyphicon-th-list:before { + content: "\e012" +} + +.glyphicon-ok:before { + content: "\e013" +} + +.glyphicon-remove:before { + content: "\e014" +} + +.glyphicon-zoom-in:before { + content: "\e015" +} + +.glyphicon-zoom-out:before { + content: "\e016" +} + +.glyphicon-off:before { + content: "\e017" +} + +.glyphicon-signal:before { + content: "\e018" +} + +.glyphicon-cog:before { + content: "\e019" +} + +.glyphicon-trash:before { + content: "\e020" +} + +.glyphicon-home:before { + content: "\e021" +} + +.glyphicon-file:before { + content: "\e022" +} + +.glyphicon-time:before { + content: "\e023" +} + +.glyphicon-road:before { + content: "\e024" +} + +.glyphicon-download-alt:before { + content: "\e025" +} + +.glyphicon-download:before { + content: "\e026" +} + +.glyphicon-upload:before { + content: "\e027" +} + +.glyphicon-inbox:before { + content: "\e028" +} + +.glyphicon-play-circle:before { + content: "\e029" +} + +.glyphicon-repeat:before { + content: "\e030" +} + +.glyphicon-refresh:before { + content: "\e031" +} + +.glyphicon-list-alt:before { + content: "\e032" +} + +.glyphicon-lock:before { + content: "\e033" +} + +.glyphicon-flag:before { + content: "\e034" +} + +.glyphicon-headphones:before { + content: "\e035" +} + +.glyphicon-volume-off:before { + content: "\e036" +} + +.glyphicon-volume-down:before { + content: "\e037" +} + +.glyphicon-volume-up:before { + content: "\e038" +} + +.glyphicon-qrcode:before { + content: "\e039" +} + +.glyphicon-barcode:before { + content: "\e040" +} + +.glyphicon-tag:before { + content: "\e041" +} + +.glyphicon-tags:before { + content: "\e042" +} + +.glyphicon-book:before { + content: "\e043" +} + +.glyphicon-bookmark:before { + content: "\e044" +} + +.glyphicon-print:before { + content: "\e045" +} + +.glyphicon-camera:before { + content: "\e046" +} + +.glyphicon-font:before { + content: "\e047" +} + +.glyphicon-bold:before { + content: "\e048" +} + +.glyphicon-italic:before { + content: "\e049" +} + +.glyphicon-text-height:before { + content: "\e050" +} + +.glyphicon-text-width:before { + content: "\e051" +} + +.glyphicon-align-left:before { + content: "\e052" +} + +.glyphicon-align-center:before { + content: "\e053" +} + +.glyphicon-align-right:before { + content: "\e054" +} + +.glyphicon-align-justify:before { + content: "\e055" +} + +.glyphicon-list:before { + content: "\e056" +} + +.glyphicon-indent-left:before { + content: "\e057" +} + +.glyphicon-indent-right:before { + content: "\e058" +} + +.glyphicon-facetime-video:before { + content: "\e059" +} + +.glyphicon-picture:before { + content: "\e060" +} + +.glyphicon-map-marker:before { + content: "\e062" +} + +.glyphicon-adjust:before { + content: "\e063" +} + +.glyphicon-tint:before { + content: "\e064" +} + +.glyphicon-edit:before { + content: "\e065" +} + +.glyphicon-share:before { + content: "\e066" +} + +.glyphicon-check:before { + content: "\e067" +} + +.glyphicon-move:before { + content: "\e068" +} + +.glyphicon-step-backward:before { + content: "\e069" +} + +.glyphicon-fast-backward:before { + content: "\e070" +} + +.glyphicon-backward:before { + content: "\e071" +} + +.glyphicon-play:before { + content: "\e072" +} + +.glyphicon-pause:before { + content: "\e073" +} + +.glyphicon-stop:before { + content: "\e074" +} + +.glyphicon-forward:before { + content: "\e075" +} + +.glyphicon-fast-forward:before { + content: "\e076" +} + +.glyphicon-step-forward:before { + content: "\e077" +} + +.glyphicon-eject:before { + content: "\e078" +} + +.glyphicon-chevron-left:before { + content: "\e079" +} + +.glyphicon-chevron-right:before { + content: "\e080" +} + +.glyphicon-plus-sign:before { + content: "\e081" +} + +.glyphicon-minus-sign:before { + content: "\e082" +} + +.glyphicon-remove-sign:before { + content: "\e083" +} + +.glyphicon-ok-sign:before { + content: "\e084" +} + +.glyphicon-question-sign:before { + content: "\e085" +} + +.glyphicon-info-sign:before { + content: "\e086" +} + +.glyphicon-screenshot:before { + content: "\e087" +} + +.glyphicon-remove-circle:before { + content: "\e088" +} + +.glyphicon-ok-circle:before { + content: "\e089" +} + +.glyphicon-ban-circle:before { + content: "\e090" +} + +.glyphicon-arrow-left:before { + content: "\e091" +} + +.glyphicon-arrow-right:before { + content: "\e092" +} + +.glyphicon-arrow-up:before { + content: "\e093" +} + +.glyphicon-arrow-down:before { + content: "\e094" +} + +.glyphicon-share-alt:before { + content: "\e095" +} + +.glyphicon-resize-full:before { + content: "\e096" +} + +.glyphicon-resize-small:before { + content: "\e097" +} + +.glyphicon-exclamation-sign:before { + content: "\e101" +} + +.glyphicon-gift:before { + content: "\e102" +} + +.glyphicon-leaf:before { + content: "\e103" +} + +.glyphicon-fire:before { + content: "\e104" +} + +.glyphicon-eye-open:before { + content: "\e105" +} + +.glyphicon-eye-close:before { + content: "\e106" +} + +.glyphicon-warning-sign:before { + content: "\e107" +} + +.glyphicon-plane:before { + content: "\e108" +} + +.glyphicon-calendar:before { + content: "\e109" +} + +.glyphicon-random:before { + content: "\e110" +} + +.glyphicon-comment:before { + content: "\e111" +} + +.glyphicon-magnet:before { + content: "\e112" +} + +.glyphicon-chevron-up:before { + content: "\e113" +} + +.glyphicon-chevron-down:before { + content: "\e114" +} + +.glyphicon-retweet:before { + content: "\e115" +} + +.glyphicon-shopping-cart:before { + content: "\e116" +} + +.glyphicon-folder-close:before { + content: "\e117" +} + +.glyphicon-folder-open:before { + content: "\e118" +} + +.glyphicon-resize-vertical:before { + content: "\e119" +} + +.glyphicon-resize-horizontal:before { + content: "\e120" +} + +.glyphicon-hdd:before { + content: "\e121" +} + +.glyphicon-bullhorn:before { + content: "\e122" +} + +.glyphicon-bell:before { + content: "\e123" +} + +.glyphicon-certificate:before { + content: "\e124" +} + +.glyphicon-thumbs-up:before { + content: "\e125" +} + +.glyphicon-thumbs-down:before { + content: "\e126" +} + +.glyphicon-hand-right:before { + content: "\e127" +} + +.glyphicon-hand-left:before { + content: "\e128" +} + +.glyphicon-hand-up:before { + content: "\e129" +} + +.glyphicon-hand-down:before { + content: "\e130" +} + +.glyphicon-circle-arrow-right:before { + content: "\e131" +} + +.glyphicon-circle-arrow-left:before { + content: "\e132" +} + +.glyphicon-circle-arrow-up:before { + content: "\e133" +} + +.glyphicon-circle-arrow-down:before { + content: "\e134" +} + +.glyphicon-globe:before { + content: "\e135" +} + +.glyphicon-wrench:before { + content: "\e136" +} + +.glyphicon-tasks:before { + content: "\e137" +} + +.glyphicon-filter:before { + content: "\e138" +} + +.glyphicon-briefcase:before { + content: "\e139" +} + +.glyphicon-fullscreen:before { + content: "\e140" +} + +.glyphicon-dashboard:before { + content: "\e141" +} + +.glyphicon-paperclip:before { + content: "\e142" +} + +.glyphicon-heart-empty:before { + content: "\e143" +} + +.glyphicon-link:before { + content: "\e144" +} + +.glyphicon-phone:before { + content: "\e145" +} + +.glyphicon-pushpin:before { + content: "\e146" +} + +.glyphicon-usd:before { + content: "\e148" +} + +.glyphicon-gbp:before { + content: "\e149" +} + +.glyphicon-sort:before { + content: "\e150" +} + +.glyphicon-sort-by-alphabet:before { + content: "\e151" +} + +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152" +} + +.glyphicon-sort-by-order:before { + content: "\e153" +} + +.glyphicon-sort-by-order-alt:before { + content: "\e154" +} + +.glyphicon-sort-by-attributes:before { + content: "\e155" +} + +.glyphicon-sort-by-attributes-alt:before { + content: "\e156" +} + +.glyphicon-unchecked:before { + content: "\e157" +} + +.glyphicon-expand:before { + content: "\e158" +} + +.glyphicon-collapse-down:before { + content: "\e159" +} + +.glyphicon-collapse-up:before { + content: "\e160" +} + +.glyphicon-log-in:before { + content: "\e161" +} + +.glyphicon-flash:before { + content: "\e162" +} + +.glyphicon-log-out:before { + content: "\e163" +} + +.glyphicon-new-window:before { + content: "\e164" +} + +.glyphicon-record:before { + content: "\e165" +} + +.glyphicon-save:before { + content: "\e166" +} + +.glyphicon-open:before { + content: "\e167" +} + +.glyphicon-saved:before { + content: "\e168" +} + +.glyphicon-import:before { + content: "\e169" +} + +.glyphicon-export:before { + content: "\e170" +} + +.glyphicon-send:before { + content: "\e171" +} + +.glyphicon-floppy-disk:before { + content: "\e172" +} + +.glyphicon-floppy-saved:before { + content: "\e173" +} + +.glyphicon-floppy-remove:before { + content: "\e174" +} + +.glyphicon-floppy-save:before { + content: "\e175" +} + +.glyphicon-floppy-open:before { + content: "\e176" +} + +.glyphicon-credit-card:before { + content: "\e177" +} + +.glyphicon-transfer:before { + content: "\e178" +} + +.glyphicon-cutlery:before { + content: "\e179" +} + +.glyphicon-header:before { + content: "\e180" +} + +.glyphicon-compressed:before { + content: "\e181" +} + +.glyphicon-earphone:before { + content: "\e182" +} + +.glyphicon-phone-alt:before { + content: "\e183" +} + +.glyphicon-tower:before { + content: "\e184" +} + +.glyphicon-stats:before { + content: "\e185" +} + +.glyphicon-sd-video:before { + content: "\e186" +} + +.glyphicon-hd-video:before { + content: "\e187" +} + +.glyphicon-subtitles:before { + content: "\e188" +} + +.glyphicon-sound-stereo:before { + content: "\e189" +} + +.glyphicon-sound-dolby:before { + content: "\e190" +} + +.glyphicon-sound-5-1:before { + content: "\e191" +} + +.glyphicon-sound-6-1:before { + content: "\e192" +} + +.glyphicon-sound-7-1:before { + content: "\e193" +} + +.glyphicon-copyright-mark:before { + content: "\e194" +} + +.glyphicon-registration-mark:before { + content: "\e195" +} + +.glyphicon-cloud-download:before { + content: "\e197" +} + +.glyphicon-cloud-upload:before { + content: "\e198" +} + +.glyphicon-tree-conifer:before { + content: "\e199" +} + +.glyphicon-tree-deciduous:before { + content: "\e200" +} + +.glyphicon-cd:before { + content: "\e201" +} + +.glyphicon-save-file:before { + content: "\e202" +} + +.glyphicon-open-file:before { + content: "\e203" +} + +.glyphicon-level-up:before { + content: "\e204" +} + +.glyphicon-copy:before { + content: "\e205" +} + +.glyphicon-paste:before { + content: "\e206" +} + +.glyphicon-alert:before { + content: "\e209" +} + +.glyphicon-equalizer:before { + content: "\e210" +} + +.glyphicon-king:before { + content: "\e211" +} + +.glyphicon-queen:before { + content: "\e212" +} + +.glyphicon-pawn:before { + content: "\e213" +} + +.glyphicon-bishop:before { + content: "\e214" +} + +.glyphicon-knight:before { + content: "\e215" +} + +.glyphicon-baby-formula:before { + content: "\e216" +} + +.glyphicon-tent:before { + content: "\26fa" +} + +.glyphicon-blackboard:before { + content: "\e218" +} + +.glyphicon-bed:before { + content: "\e219" +} + +.glyphicon-apple:before { + content: "\f8ff" +} + +.glyphicon-erase:before { + content: "\e221" +} + +.glyphicon-hourglass:before { + content: "\231b" +} + +.glyphicon-lamp:before { + content: "\e223" +} + +.glyphicon-duplicate:before { + content: "\e224" +} + +.glyphicon-piggy-bank:before { + content: "\e225" +} + +.glyphicon-scissors:before { + content: "\e226" +} + +.glyphicon-bitcoin:before { + content: "\e227" +} + +.glyphicon-btc:before { + content: "\e227" +} + +.glyphicon-xbt:before { + content: "\e227" +} + +.glyphicon-yen:before { + content: "\00a5" +} + +.glyphicon-jpy:before { + content: "\00a5" +} + +.glyphicon-ruble:before { + content: "\20bd" +} + +.glyphicon-rub:before { + content: "\20bd" +} + +.glyphicon-scale:before { + content: "\e230" +} + +.glyphicon-ice-lolly:before { + content: "\e231" +} + +.glyphicon-ice-lolly-tasted:before { + content: "\e232" +} + +.glyphicon-education:before { + content: "\e233" +} + +.glyphicon-option-horizontal:before { + content: "\e234" +} + +.glyphicon-option-vertical:before { + content: "\e235" +} + +.glyphicon-menu-hamburger:before { + content: "\e236" +} + +.glyphicon-modal-window:before { + content: "\e237" +} + +.glyphicon-oil:before { + content: "\e238" +} + +.glyphicon-grain:before { + content: "\e239" +} + +.glyphicon-sunglasses:before { + content: "\e240" +} + +.glyphicon-text-size:before { + content: "\e241" +} + +.glyphicon-text-color:before { + content: "\e242" +} + +.glyphicon-text-background:before { + content: "\e243" +} + +.glyphicon-object-align-top:before { + content: "\e244" +} + +.glyphicon-object-align-bottom:before { + content: "\e245" +} + +.glyphicon-object-align-horizontal:before { + content: "\e246" +} + +.glyphicon-object-align-left:before { + content: "\e247" +} + +.glyphicon-object-align-vertical:before { + content: "\e248" +} + +.glyphicon-object-align-right:before { + content: "\e249" +} + +.glyphicon-triangle-right:before { + content: "\e250" +} + +.glyphicon-triangle-left:before { + content: "\e251" +} + +.glyphicon-triangle-bottom:before { + content: "\e252" +} + +.glyphicon-triangle-top:before { + content: "\e253" +} + +.glyphicon-console:before { + content: "\e254" +} + +.glyphicon-superscript:before { + content: "\e255" +} + +.glyphicon-subscript:before { + content: "\e256" +} + +.glyphicon-menu-left:before { + content: "\e257" +} + +.glyphicon-menu-right:before { + content: "\e258" +} + +.glyphicon-menu-down:before { + content: "\e259" +} + +.glyphicon-menu-up:before { + content: "\e260" +} + +* { + box-sizing: border-box +} + +*:before, +*:after { + box-sizing: border-box +} + +html { + font-size: 10px; +} + +body { + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + font-size: 16px; + line-height: 1.428571429; + color: #333333; + background-color: #fff +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit +} + +a { + color: #00babc; + text-decoration: none +} + +a:hover, +a:focus { + color: #006e70; + text-decoration: underline +} + +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px +} + +figure { + margin: 0 +} + +img { + vertical-align: middle +} + +.img-responsive { + display: block; + max-width: 100%; + height: auto +} + +.img-rounded { + border-radius: 4px +} + +.img-thumbnail { + padding: 4px; + line-height: 1.428571429; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 1px; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto +} + +.img-circle { + border-radius: 50% +} + +hr { + margin-top: 22px; + margin-bottom: 22px; + border: 0; + border-top: 1px solid #eeeeee +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0 +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto +} + +[role="button"] { + cursor: pointer +} + +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit +} + +h1 small, +h1 .small, +h2 small, +h2 .small, +h3 small, +h3 .small, +h4 small, +h4 .small, +h5 small, +h5 .small, +h6 small, +h6 .small, +.h1 small, +.h1 .small, +.h2 small, +.h2 .small, +.h3 small, +.h3 .small, +.h4 small, +.h4 .small, +.h5 small, +.h5 .small, +.h6 small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777 +} + +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 22px; + margin-bottom: 11px +} + +h1 small, +h1 .small, +.h1 small, +.h1 .small, +h2 small, +h2 .small, +.h2 small, +.h2 .small, +h3 small, +h3 .small, +.h3 small, +.h3 .small { + font-size: 65% +} + +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 11px; + margin-bottom: 11px +} + +h4 small, +h4 .small, +.h4 small, +.h4 .small, +h5 small, +h5 .small, +.h5 small, +.h5 .small, +h6 small, +h6 .small, +.h6 small, +.h6 .small { + font-size: 75% +} + +h1, +.h1 { + font-size: 41px +} + +h2, +.h2 { + font-size: 34px +} + +h3, +.h3 { + font-size: 28px +} + +h4, +.h4 { + font-size: 20px +} + +h5, +.h5 { + font-size: 16px +} + +h6, +.h6 { + font-size: 14px +} + +p { + margin: 0 0 11px +} + +.lead { + margin-bottom: 22px; + font-size: 18px; + font-weight: 300; + line-height: 1.4 +} + +@media (min-width: 768px) { + .lead { + font-size: 24px + } +} + +small, +.small { + font-size: 87% +} + +mark, +.mark { + background-color: #fcf8e3; + padding: .2em +} + +.text-left { + text-align: left +} + +.text-right { + text-align: right +} + +.text-center { + text-align: center +} + +.text-justify { + text-align: justify +} + +.text-nowrap { + white-space: nowrap +} + +.text-lowercase { + text-transform: lowercase +} + +.text-uppercase, +.initialism { + text-transform: uppercase +} + +.text-capitalize { + text-transform: capitalize +} + +.text-muted { + color: #777777 +} + +.text-primary { + color: #00babc +} + +a.text-primary:hover, +a.text-primary:focus { + color: #008889 +} + +.text-success { + color: #3c763d +} + +a.text-success:hover, +a.text-success:focus { + color: #2b542c +} + +.text-info { + color: #31708f +} + +a.text-info:hover, +a.text-info:focus { + color: #245269 +} + +.text-warning { + color: #8a6d3b +} + +a.text-warning:hover, +a.text-warning:focus { + color: #66512c +} + +.text-danger { + color: #a94442 +} + +a.text-danger:hover, +a.text-danger:focus { + color: #843534 +} + +.bg-primary { + color: #fff +} + +.bg-primary { + background-color: #00babc +} + +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #008889 +} + +.bg-success { + background-color: #dff0d8 +} + +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3 +} + +.bg-info { + background-color: #d9edf7 +} + +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee +} + +.bg-warning { + background-color: #fcf8e3 +} + +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5 +} + +.bg-danger { + background-color: #f2dede +} + +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9 +} + +.page-header { + padding-bottom: 10px; + margin: 44px 0 22px; + border-bottom: 1px solid #eeeeee +} + +ul, +ol { + margin-top: 0; + margin-bottom: 11px +} + +ul ul, +ul ol, +ol ul, +ol ol { + margin-bottom: 0 +} + +.list-unstyled { + padding-left: 0; + list-style: none +} + +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px +} + +.list-inline>li { + display: inline-block; + padding-left: 5px; + padding-right: 5px +} + +dl { + margin-top: 0; + margin-bottom: 22px +} + +dt, +dd { + line-height: 1.428571429 +} + +dt { + font-weight: bold +} + +dd { + margin-left: 0 +} + +.dl-horizontal dd:before, +.dl-horizontal dd:after { + content: " "; + display: table +} + +.dl-horizontal dd:after { + clear: both +} + +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap + } + + .dl-horizontal dd { + margin-left: 180px + } +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777 +} + +.initialism { + font-size: 90% +} + +blockquote { + padding: 11px 22px; + margin: 0 0 22px; + font-size: 20px; + border-left: 5px solid #eeeeee +} + +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0 +} + +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.428571429; + color: #777777 +} + +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0' +} + +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right +} + +.blockquote-reverse footer:before, +.blockquote-reverse small:before, +.blockquote-reverse .small:before, +blockquote.pull-right footer:before, +blockquote.pull-right small:before, +blockquote.pull-right .small:before { + content: '' +} + +.blockquote-reverse footer:after, +.blockquote-reverse small:after, +.blockquote-reverse .small:after, +blockquote.pull-right footer:after, +blockquote.pull-right small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014' +} + +address { + margin-bottom: 22px; + font-style: normal; + line-height: 1.428571429 +} + +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace +} + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 1px +} + +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 0px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25) +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none +} + +pre { + display: block; + padding: 10.5px; + margin: 0 0 11px; + font-size: 15px; + line-height: 1.428571429; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 1px +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0 +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll +} + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px +} + +.container:before, +.container:after { + content: " "; + display: table +} + +.container:after { + clear: both +} + +@media (min-width: 768px) { + .container { + width: 750px + } +} + +@media (min-width: 992px) { + .container { + width: 970px + } +} + +@media (min-width: 1600px) { + .container { + width: 1170px + } +} + +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px +} + +.container-fluid:before, +.container-fluid:after { + content: " "; + display: table +} + +.container-fluid:after { + clear: both +} + +.row { + margin-left: -15px; + margin-right: -15px +} + +.row:before, +.row:after { + content: " "; + display: table +} + +.row:after { + clear: both +} + +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px +} + +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { + float: left +} + +.col-xs-1 { + width: 8.3333333333% +} + +.col-xs-2 { + width: 16.6666666667% +} + +.col-xs-3 { + width: 25% +} + +.col-xs-4 { + width: 33.3333333333% +} + +.col-xs-5 { + width: 41.6666666667% +} + +.col-xs-6 { + width: 50% +} + +.col-xs-7 { + width: 58.3333333333% +} + +.col-xs-8 { + width: 66.6666666667% +} + +.col-xs-9 { + width: 75% +} + +.col-xs-10 { + width: 83.3333333333% +} + +.col-xs-11 { + width: 91.6666666667% +} + +.col-xs-12 { + width: 100% +} + +.col-xs-pull-0 { + right: auto +} + +.col-xs-pull-1 { + right: 8.3333333333% +} + +.col-xs-pull-2 { + right: 16.6666666667% +} + +.col-xs-pull-3 { + right: 25% +} + +.col-xs-pull-4 { + right: 33.3333333333% +} + +.col-xs-pull-5 { + right: 41.6666666667% +} + +.col-xs-pull-6 { + right: 50% +} + +.col-xs-pull-7 { + right: 58.3333333333% +} + +.col-xs-pull-8 { + right: 66.6666666667% +} + +.col-xs-pull-9 { + right: 75% +} + +.col-xs-pull-10 { + right: 83.3333333333% +} + +.col-xs-pull-11 { + right: 91.6666666667% +} + +.col-xs-pull-12 { + right: 100% +} + +.col-xs-push-0 { + left: auto +} + +.col-xs-push-1 { + left: 8.3333333333% +} + +.col-xs-push-2 { + left: 16.6666666667% +} + +.col-xs-push-3 { + left: 25% +} + +.col-xs-push-4 { + left: 33.3333333333% +} + +.col-xs-push-5 { + left: 41.6666666667% +} + +.col-xs-push-6 { + left: 50% +} + +.col-xs-push-7 { + left: 58.3333333333% +} + +.col-xs-push-8 { + left: 66.6666666667% +} + +.col-xs-push-9 { + left: 75% +} + +.col-xs-push-10 { + left: 83.3333333333% +} + +.col-xs-push-11 { + left: 91.6666666667% +} + +.col-xs-push-12 { + left: 100% +} + +.col-xs-offset-0 { + margin-left: 0% +} + +.col-xs-offset-1 { + margin-left: 8.3333333333% +} + +.col-xs-offset-2 { + margin-left: 16.6666666667% +} + +.col-xs-offset-3 { + margin-left: 25% +} + +.col-xs-offset-4 { + margin-left: 33.3333333333% +} + +.col-xs-offset-5 { + margin-left: 41.6666666667% +} + +.col-xs-offset-6 { + margin-left: 50% +} + +.col-xs-offset-7 { + margin-left: 58.3333333333% +} + +.col-xs-offset-8 { + margin-left: 66.6666666667% +} + +.col-xs-offset-9 { + margin-left: 75% +} + +.col-xs-offset-10 { + margin-left: 83.3333333333% +} + +.col-xs-offset-11 { + margin-left: 91.6666666667% +} + +.col-xs-offset-12 { + margin-left: 100% +} + +@media (min-width: 768px) { + + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12 { + float: left + } + + .col-sm-1 { + width: 8.3333333333% + } + + .col-sm-2 { + width: 16.6666666667% + } + + .col-sm-3 { + width: 25% + } + + .col-sm-4 { + width: 33.3333333333% + } + + .col-sm-5 { + width: 41.6666666667% + } + + .col-sm-6 { + width: 50% + } + + .col-sm-7 { + width: 58.3333333333% + } + + .col-sm-8 { + width: 66.6666666667% + } + + .col-sm-9 { + width: 75% + } + + .col-sm-10 { + width: 83.3333333333% + } + + .col-sm-11 { + width: 91.6666666667% + } + + .col-sm-12 { + width: 100% + } + + .col-sm-pull-0 { + right: auto + } + + .col-sm-pull-1 { + right: 8.3333333333% + } + + .col-sm-pull-2 { + right: 16.6666666667% + } + + .col-sm-pull-3 { + right: 25% + } + + .col-sm-pull-4 { + right: 33.3333333333% + } + + .col-sm-pull-5 { + right: 41.6666666667% + } + + .col-sm-pull-6 { + right: 50% + } + + .col-sm-pull-7 { + right: 58.3333333333% + } + + .col-sm-pull-8 { + right: 66.6666666667% + } + + .col-sm-pull-9 { + right: 75% + } + + .col-sm-pull-10 { + right: 83.3333333333% + } + + .col-sm-pull-11 { + right: 91.6666666667% + } + + .col-sm-pull-12 { + right: 100% + } + + .col-sm-push-0 { + left: auto + } + + .col-sm-push-1 { + left: 8.3333333333% + } + + .col-sm-push-2 { + left: 16.6666666667% + } + + .col-sm-push-3 { + left: 25% + } + + .col-sm-push-4 { + left: 33.3333333333% + } + + .col-sm-push-5 { + left: 41.6666666667% + } + + .col-sm-push-6 { + left: 50% + } + + .col-sm-push-7 { + left: 58.3333333333% + } + + .col-sm-push-8 { + left: 66.6666666667% + } + + .col-sm-push-9 { + left: 75% + } + + .col-sm-push-10 { + left: 83.3333333333% + } + + .col-sm-push-11 { + left: 91.6666666667% + } + + .col-sm-push-12 { + left: 100% + } + + .col-sm-offset-0 { + margin-left: 0% + } + + .col-sm-offset-1 { + margin-left: 8.3333333333% + } + + .col-sm-offset-2 { + margin-left: 16.6666666667% + } + + .col-sm-offset-3 { + margin-left: 25% + } + + .col-sm-offset-4 { + margin-left: 33.3333333333% + } + + .col-sm-offset-5 { + margin-left: 41.6666666667% + } + + .col-sm-offset-6 { + margin-left: 50% + } + + .col-sm-offset-7 { + margin-left: 58.3333333333% + } + + .col-sm-offset-8 { + margin-left: 66.6666666667% + } + + .col-sm-offset-9 { + margin-left: 75% + } + + .col-sm-offset-10 { + margin-left: 83.3333333333% + } + + .col-sm-offset-11 { + margin-left: 91.6666666667% + } + + .col-sm-offset-12 { + margin-left: 100% + } +} + +@media (min-width: 992px) { + + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12 { + float: left + } + + .col-md-1 { + width: 8.3333333333% + } + + .col-md-2 { + width: 16.6666666667% + } + + .col-md-3 { + width: 25% + } + + .col-md-4 { + width: 33.3333333333% + } + + .col-md-5 { + width: 41.6666666667% + } + + .col-md-6 { + width: 50% + } + + .col-md-7 { + width: 58.3333333333% + } + + .col-md-8 { + width: 66.6666666667% + } + + .col-md-9 { + width: 75% + } + + .col-md-10 { + width: 83.3333333333% + } + + .col-md-11 { + width: 91.6666666667% + } + + .col-md-12 { + width: 100% + } + + .col-md-pull-0 { + right: auto + } + + .col-md-pull-1 { + right: 8.3333333333% + } + + .col-md-pull-2 { + right: 16.6666666667% + } + + .col-md-pull-3 { + right: 25% + } + + .col-md-pull-4 { + right: 33.3333333333% + } + + .col-md-pull-5 { + right: 41.6666666667% + } + + .col-md-pull-6 { + right: 50% + } + + .col-md-pull-7 { + right: 58.3333333333% + } + + .col-md-pull-8 { + right: 66.6666666667% + } + + .col-md-pull-9 { + right: 75% + } + + .col-md-pull-10 { + right: 83.3333333333% + } + + .col-md-pull-11 { + right: 91.6666666667% + } + + .col-md-pull-12 { + right: 100% + } + + .col-md-push-0 { + left: auto + } + + .col-md-push-1 { + left: 8.3333333333% + } + + .col-md-push-2 { + left: 16.6666666667% + } + + .col-md-push-3 { + left: 25% + } + + .col-md-push-4 { + left: 33.3333333333% + } + + .col-md-push-5 { + left: 41.6666666667% + } + + .col-md-push-6 { + left: 50% + } + + .col-md-push-7 { + left: 58.3333333333% + } + + .col-md-push-8 { + left: 66.6666666667% + } + + .col-md-push-9 { + left: 75% + } + + .col-md-push-10 { + left: 83.3333333333% + } + + .col-md-push-11 { + left: 91.6666666667% + } + + .col-md-push-12 { + left: 100% + } + + .col-md-offset-0 { + margin-left: 0% + } + + .col-md-offset-1 { + margin-left: 8.3333333333% + } + + .col-md-offset-2 { + margin-left: 16.6666666667% + } + + .col-md-offset-3 { + margin-left: 25% + } + + .col-md-offset-4 { + margin-left: 33.3333333333% + } + + .col-md-offset-5 { + margin-left: 41.6666666667% + } + + .col-md-offset-6 { + margin-left: 50% + } + + .col-md-offset-7 { + margin-left: 58.3333333333% + } + + .col-md-offset-8 { + margin-left: 66.6666666667% + } + + .col-md-offset-9 { + margin-left: 75% + } + + .col-md-offset-10 { + margin-left: 83.3333333333% + } + + .col-md-offset-11 { + margin-left: 91.6666666667% + } + + .col-md-offset-12 { + margin-left: 100% + } +} + +@media (min-width: 1600px) { + + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12 { + float: left + } + + .col-lg-1 { + width: 8.3333333333% + } + + .col-lg-2 { + width: 16.6666666667% + } + + .col-lg-3 { + width: 25% + } + + .col-lg-4 { + width: 33.3333333333% + } + + .col-lg-5 { + width: 41.6666666667% + } + + .col-lg-6 { + width: 50% + } + + .col-lg-7 { + width: 58.3333333333% + } + + .col-lg-8 { + width: 66.6666666667% + } + + .col-lg-9 { + width: 75% + } + + .col-lg-10 { + width: 83.3333333333% + } + + .col-lg-11 { + width: 91.6666666667% + } + + .col-lg-12 { + width: 100% + } + + .col-lg-pull-0 { + right: auto + } + + .col-lg-pull-1 { + right: 8.3333333333% + } + + .col-lg-pull-2 { + right: 16.6666666667% + } + + .col-lg-pull-3 { + right: 25% + } + + .col-lg-pull-4 { + right: 33.3333333333% + } + + .col-lg-pull-5 { + right: 41.6666666667% + } + + .col-lg-pull-6 { + right: 50% + } + + .col-lg-pull-7 { + right: 58.3333333333% + } + + .col-lg-pull-8 { + right: 66.6666666667% + } + + .col-lg-pull-9 { + right: 75% + } + + .col-lg-pull-10 { + right: 83.3333333333% + } + + .col-lg-pull-11 { + right: 91.6666666667% + } + + .col-lg-pull-12 { + right: 100% + } + + .col-lg-push-0 { + left: auto + } + + .col-lg-push-1 { + left: 8.3333333333% + } + + .col-lg-push-2 { + left: 16.6666666667% + } + + .col-lg-push-3 { + left: 25% + } + + .col-lg-push-4 { + left: 33.3333333333% + } + + .col-lg-push-5 { + left: 41.6666666667% + } + + .col-lg-push-6 { + left: 50% + } + + .col-lg-push-7 { + left: 58.3333333333% + } + + .col-lg-push-8 { + left: 66.6666666667% + } + + .col-lg-push-9 { + left: 75% + } + + .col-lg-push-10 { + left: 83.3333333333% + } + + .col-lg-push-11 { + left: 91.6666666667% + } + + .col-lg-push-12 { + left: 100% + } + + .col-lg-offset-0 { + margin-left: 0% + } + + .col-lg-offset-1 { + margin-left: 8.3333333333% + } + + .col-lg-offset-2 { + margin-left: 16.6666666667% + } + + .col-lg-offset-3 { + margin-left: 25% + } + + .col-lg-offset-4 { + margin-left: 33.3333333333% + } + + .col-lg-offset-5 { + margin-left: 41.6666666667% + } + + .col-lg-offset-6 { + margin-left: 50% + } + + .col-lg-offset-7 { + margin-left: 58.3333333333% + } + + .col-lg-offset-8 { + margin-left: 66.6666666667% + } + + .col-lg-offset-9 { + margin-left: 75% + } + + .col-lg-offset-10 { + margin-left: 83.3333333333% + } + + .col-lg-offset-11 { + margin-left: 91.6666666667% + } + + .col-lg-offset-12 { + margin-left: 100% + } +} + +table { + background-color: transparent +} + +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left +} + +th { + text-align: left +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 22px +} + +.table>thead>tr>th, +.table>thead>tr>td, +.table>tbody>tr>th, +.table>tbody>tr>td, +.table>tfoot>tr>th, +.table>tfoot>tr>td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #ddd +} + +.table>thead>tr>th { + vertical-align: bottom; + border-bottom: 2px solid #ddd +} + +.table>caption+thead>tr:first-child>th, +.table>caption+thead>tr:first-child>td, +.table>colgroup+thead>tr:first-child>th, +.table>colgroup+thead>tr:first-child>td, +.table>thead:first-child>tr:first-child>th, +.table>thead:first-child>tr:first-child>td { + border-top: 0 +} + +.table>tbody+tbody { + border-top: 2px solid #ddd +} + +.table .table { + background-color: #fff +} + +.table-condensed>thead>tr>th, +.table-condensed>thead>tr>td, +.table-condensed>tbody>tr>th, +.table-condensed>tbody>tr>td, +.table-condensed>tfoot>tr>th, +.table-condensed>tfoot>tr>td { + padding: 5px +} + +.table-bordered { + border: 1px solid #ddd +} + +.table-bordered>thead>tr>th, +.table-bordered>thead>tr>td, +.table-bordered>tbody>tr>th, +.table-bordered>tbody>tr>td, +.table-bordered>tfoot>tr>th, +.table-bordered>tfoot>tr>td { + border: 1px solid #ddd +} + +.table-bordered>thead>tr>th, +.table-bordered>thead>tr>td { + border-bottom-width: 2px +} + +.table-striped>tbody>tr:nth-of-type(odd) { + background-color: #f9f9f9 +} + +.table-hover>tbody>tr:hover { + background-color: #f5f5f5 +} + +table col[class*="col-"] { + position: static; + float: none; + display: table-column +} + +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell +} + +.table>thead>tr>td.active, +.table>thead>tr>th.active, +.table>thead>tr.active>td, +.table>thead>tr.active>th, +.table>tbody>tr>td.active, +.table>tbody>tr>th.active, +.table>tbody>tr.active>td, +.table>tbody>tr.active>th, +.table>tfoot>tr>td.active, +.table>tfoot>tr>th.active, +.table>tfoot>tr.active>td, +.table>tfoot>tr.active>th { + background-color: #f5f5f5 +} + +.table-hover>tbody>tr>td.active:hover, +.table-hover>tbody>tr>th.active:hover, +.table-hover>tbody>tr.active:hover>td, +.table-hover>tbody>tr:hover>.active, +.table-hover>tbody>tr.active:hover>th { + background-color: #e8e8e8 +} + +.table>thead>tr>td.success, +.table>thead>tr>th.success, +.table>thead>tr.success>td, +.table>thead>tr.success>th, +.table>tbody>tr>td.success, +.table>tbody>tr>th.success, +.table>tbody>tr.success>td, +.table>tbody>tr.success>th, +.table>tfoot>tr>td.success, +.table>tfoot>tr>th.success, +.table>tfoot>tr.success>td, +.table>tfoot>tr.success>th { + background-color: #dff0d8 +} + +.table-hover>tbody>tr>td.success:hover, +.table-hover>tbody>tr>th.success:hover, +.table-hover>tbody>tr.success:hover>td, +.table-hover>tbody>tr:hover>.success, +.table-hover>tbody>tr.success:hover>th { + background-color: #d0e9c6 +} + +.table>thead>tr>td.info, +.table>thead>tr>th.info, +.table>thead>tr.info>td, +.table>thead>tr.info>th, +.table>tbody>tr>td.info, +.table>tbody>tr>th.info, +.table>tbody>tr.info>td, +.table>tbody>tr.info>th, +.table>tfoot>tr>td.info, +.table>tfoot>tr>th.info, +.table>tfoot>tr.info>td, +.table>tfoot>tr.info>th { + background-color: #d9edf7 +} + +.table-hover>tbody>tr>td.info:hover, +.table-hover>tbody>tr>th.info:hover, +.table-hover>tbody>tr.info:hover>td, +.table-hover>tbody>tr:hover>.info, +.table-hover>tbody>tr.info:hover>th { + background-color: #c4e3f3 +} + +.table>thead>tr>td.warning, +.table>thead>tr>th.warning, +.table>thead>tr.warning>td, +.table>thead>tr.warning>th, +.table>tbody>tr>td.warning, +.table>tbody>tr>th.warning, +.table>tbody>tr.warning>td, +.table>tbody>tr.warning>th, +.table>tfoot>tr>td.warning, +.table>tfoot>tr>th.warning, +.table>tfoot>tr.warning>td, +.table>tfoot>tr.warning>th { + background-color: #fcf8e3 +} + +.table-hover>tbody>tr>td.warning:hover, +.table-hover>tbody>tr>th.warning:hover, +.table-hover>tbody>tr.warning:hover>td, +.table-hover>tbody>tr:hover>.warning, +.table-hover>tbody>tr.warning:hover>th { + background-color: #faf2cc +} + +.table>thead>tr>td.danger, +.table>thead>tr>th.danger, +.table>thead>tr.danger>td, +.table>thead>tr.danger>th, +.table>tbody>tr>td.danger, +.table>tbody>tr>th.danger, +.table>tbody>tr.danger>td, +.table>tbody>tr.danger>th, +.table>tfoot>tr>td.danger, +.table>tfoot>tr>th.danger, +.table>tfoot>tr.danger>td, +.table>tfoot>tr.danger>th { + background-color: #f2dede +} + +.table-hover>tbody>tr>td.danger:hover, +.table-hover>tbody>tr>th.danger:hover, +.table-hover>tbody>tr.danger:hover>td, +.table-hover>tbody>tr:hover>.danger, +.table-hover>tbody>tr.danger:hover>th { + background-color: #ebcccc +} + +.table-responsive { + overflow-x: auto; + min-height: 0.01% +} + +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 16.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd + } + + .table-responsive>.table { + margin-bottom: 0 + } + + .table-responsive>.table>thead>tr>th, + .table-responsive>.table>thead>tr>td, + .table-responsive>.table>tbody>tr>th, + .table-responsive>.table>tbody>tr>td, + .table-responsive>.table>tfoot>tr>th, + .table-responsive>.table>tfoot>tr>td { + white-space: nowrap + } + + .table-responsive>.table-bordered { + border: 0 + } + + .table-responsive>.table-bordered>thead>tr>th:first-child, + .table-responsive>.table-bordered>thead>tr>td:first-child, + .table-responsive>.table-bordered>tbody>tr>th:first-child, + .table-responsive>.table-bordered>tbody>tr>td:first-child, + .table-responsive>.table-bordered>tfoot>tr>th:first-child, + .table-responsive>.table-bordered>tfoot>tr>td:first-child { + border-left: 0 + } + + .table-responsive>.table-bordered>thead>tr>th:last-child, + .table-responsive>.table-bordered>thead>tr>td:last-child, + .table-responsive>.table-bordered>tbody>tr>th:last-child, + .table-responsive>.table-bordered>tbody>tr>td:last-child, + .table-responsive>.table-bordered>tfoot>tr>th:last-child, + .table-responsive>.table-bordered>tfoot>tr>td:last-child { + border-right: 0 + } + + .table-responsive>.table-bordered>tbody>tr:last-child>th, + .table-responsive>.table-bordered>tbody>tr:last-child>td, + .table-responsive>.table-bordered>tfoot>tr:last-child>th, + .table-responsive>.table-bordered>tfoot>tr:last-child>td { + border-bottom: 0 + } +} + +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0 +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 22px; + font-size: 24px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5 +} + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold +} + +input[type="search"] { + box-sizing: border-box +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal +} + +input[type="file"] { + display: block +} + +input[type="range"] { + display: block; + width: 100% +} + +select[multiple], +select[size] { + height: auto +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px +} + +output { + display: block; + padding-top: 7px; + font-size: 16px; + line-height: 1.428571429; + color: #555555 +} + +.form-control { + display: block; + width: 100%; + height: 36px; + padding: 6px 12px; + font-size: 16px; + line-height: 1.428571429; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 1px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s +} + +.form-control:focus { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6) +} + +.form-control::-moz-placeholder { + color: #777777; + opacity: 1 +} + +.form-control:-ms-input-placeholder { + color: #777777 +} + +.form-control::-webkit-input-placeholder { + color: #777777 +} + +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1 +} + +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed +} + +textarea.form-control { + height: auto +} + +input[type="search"] {} + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 36px + } + + input[type="date"].input-sm, + .input-group-sm>input[type="date"].form-control, + .input-group-sm>input[type="date"].input-group-addon, + .input-group-sm>.input-group-btn>input[type="date"].btn, + .input-group-sm input[type="date"], + input[type="time"].input-sm, + .input-group-sm>input[type="time"].form-control, + .input-group-sm>input[type="time"].input-group-addon, + .input-group-sm>.input-group-btn>input[type="time"].btn, + .input-group-sm input[type="time"], + input[type="datetime-local"].input-sm, + .input-group-sm>input[type="datetime-local"].form-control, + .input-group-sm>input[type="datetime-local"].input-group-addon, + .input-group-sm>.input-group-btn>input[type="datetime-local"].btn, + .input-group-sm input[type="datetime-local"], + input[type="month"].input-sm, + .input-group-sm>input[type="month"].form-control, + .input-group-sm>input[type="month"].input-group-addon, + .input-group-sm>.input-group-btn>input[type="month"].btn, + .input-group-sm input[type="month"] { + line-height: 33px + } + + input[type="date"].input-lg, + .input-group-lg>input[type="date"].form-control, + .input-group-lg>input[type="date"].input-group-addon, + .input-group-lg>.input-group-btn>input[type="date"].btn, + .input-group-lg input[type="date"], + input[type="time"].input-lg, + .input-group-lg>input[type="time"].form-control, + .input-group-lg>input[type="time"].input-group-addon, + .input-group-lg>.input-group-btn>input[type="time"].btn, + .input-group-lg input[type="time"], + input[type="datetime-local"].input-lg, + .input-group-lg>input[type="datetime-local"].form-control, + .input-group-lg>input[type="datetime-local"].input-group-addon, + .input-group-lg>.input-group-btn>input[type="datetime-local"].btn, + .input-group-lg input[type="datetime-local"], + input[type="month"].input-lg, + .input-group-lg>input[type="month"].form-control, + .input-group-lg>input[type="month"].input-group-addon, + .input-group-lg>.input-group-btn>input[type="month"].btn, + .input-group-lg input[type="month"] { + line-height: 49px + } +} + +.form-group { + margin-bottom: 15px +} + +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px +} + +.radio label, +.checkbox label { + min-height: 22px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer +} + +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9 +} + +.radio+.radio, +.checkbox+.checkbox { + margin-top: -5px +} + +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer +} + +.radio-inline+.radio-inline, +.checkbox-inline+.checkbox-inline { + margin-top: 0; + margin-left: 10px +} + +input[type="radio"][disabled], +input[type="radio"].disabled, +fieldset[disabled] input[type="radio"], +input[type="checkbox"][disabled], +input[type="checkbox"].disabled, +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed +} + +.radio-inline.disabled, +fieldset[disabled] .radio-inline, +.checkbox-inline.disabled, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed +} + +.radio.disabled label, +fieldset[disabled] .radio label, +.checkbox.disabled label, +fieldset[disabled] .checkbox label { + cursor: not-allowed +} + +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 38px +} + +.form-control-static.input-lg, +.input-group-lg>.form-control-static.form-control, +.input-group-lg>.form-control-static.input-group-addon, +.input-group-lg>.input-group-btn>.form-control-static.btn, +.form-control-static.input-sm, +.input-group-sm>.form-control-static.form-control, +.input-group-sm>.form-control-static.input-group-addon, +.input-group-sm>.input-group-btn>.form-control-static.btn { + padding-left: 0; + padding-right: 0 +} + +.input-sm, +.input-group-sm>.form-control, +.input-group-sm>.input-group-addon, +.input-group-sm>.input-group-btn>.btn { + height: 33px; + padding: 5px 10px; + font-size: 14px; + line-height: 1.5; + border-radius: 0px +} + +select.input-sm, +.input-group-sm>select.form-control, +.input-group-sm>select.input-group-addon, +.input-group-sm>.input-group-btn>select.btn { + height: 33px; + line-height: 33px +} + +textarea.input-sm, +.input-group-sm>textarea.form-control, +.input-group-sm>textarea.input-group-addon, +.input-group-sm>.input-group-btn>textarea.btn, +select[multiple].input-sm, +.input-group-sm>select[multiple].form-control, +.input-group-sm>select[multiple].input-group-addon, +.input-group-sm>.input-group-btn>select[multiple].btn { + height: auto +} + +.form-group-sm .form-control { + height: 33px; + padding: 5px 10px; + font-size: 14px; + line-height: 1.5; + border-radius: 0px +} + +.form-group-sm select.form-control { + height: 33px; + line-height: 33px +} + +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto +} + +.form-group-sm .form-control-static { + height: 33px; + min-height: 36px; + padding: 6px 10px; + font-size: 14px; + line-height: 1.5 +} + +.input-lg, +.input-group-lg>.form-control, +.input-group-lg>.input-group-addon, +.input-group-lg>.input-group-btn>.btn { + height: 49px; + padding: 10px 16px; + font-size: 20px; + line-height: 1.33; + border-radius: 4px +} + +select.input-lg, +.input-group-lg>select.form-control, +.input-group-lg>select.input-group-addon, +.input-group-lg>.input-group-btn>select.btn { + height: 49px; + line-height: 49px +} + +textarea.input-lg, +.input-group-lg>textarea.form-control, +.input-group-lg>textarea.input-group-addon, +.input-group-lg>.input-group-btn>textarea.btn, +select[multiple].input-lg, +.input-group-lg>select[multiple].form-control, +.input-group-lg>select[multiple].input-group-addon, +.input-group-lg>.input-group-btn>select[multiple].btn { + height: auto +} + +.form-group-lg .form-control { + height: 49px; + padding: 10px 16px; + font-size: 20px; + line-height: 1.33; + border-radius: 4px +} + +.form-group-lg select.form-control { + height: 49px; + line-height: 49px +} + +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto +} + +.form-group-lg .form-control-static { + height: 49px; + min-height: 42px; + padding: 11px 16px; + font-size: 20px; + line-height: 1.33 +} + +.has-feedback { + position: relative +} + +.has-feedback .form-control { + padding-right: 45px +} + +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 36px; + height: 36px; + line-height: 36px; + text-align: center; + pointer-events: none +} + +.input-lg+.form-control-feedback, +.input-group-lg>.form-control+.form-control-feedback, +.input-group-lg>.input-group-addon+.form-control-feedback, +.input-group-lg>.input-group-btn>.btn+.form-control-feedback, +.input-group-lg+.form-control-feedback, +.form-group-lg .form-control+.form-control-feedback { + width: 49px; + height: 49px; + line-height: 49px +} + +.input-sm+.form-control-feedback, +.input-group-sm>.form-control+.form-control-feedback, +.input-group-sm>.input-group-addon+.form-control-feedback, +.input-group-sm>.input-group-btn>.btn+.form-control-feedback, +.input-group-sm+.form-control-feedback, +.form-group-sm .form-control+.form-control-feedback { + width: 33px; + height: 33px; + line-height: 33px +} + +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d +} + +.has-success .form-control { + border-color: #3c763d; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075) +} + +.has-success .form-control:focus { + border-color: #2b542c; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168 +} + +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8 +} + +.has-success .form-control-feedback { + color: #3c763d +} + +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b +} + +.has-warning .form-control { + border-color: #8a6d3b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075) +} + +.has-warning .form-control:focus { + border-color: #66512c; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b +} + +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3 +} + +.has-warning .form-control-feedback { + color: #8a6d3b +} + +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442 +} + +.has-error .form-control { + border-color: #a94442; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075) +} + +.has-error .form-control:focus { + border-color: #843534; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483 +} + +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede +} + +.has-error .form-control-feedback { + color: #a94442 +} + +.has-feedback label~.form-control-feedback { + top: 27px +} + +.has-feedback label.sr-only~.form-control-feedback { + top: 0 +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373 +} + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle + } + + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle + } + + .form-inline .form-control-static { + display: inline-block + } + + .form-inline .input-group { + display: inline-table; + vertical-align: middle + } + + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto + } + + .form-inline .input-group>.form-control { + width: 100% + } + + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle + } + + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle + } + + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0 + } + + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0 + } + + .form-inline .has-feedback .form-control-feedback { + top: 0 + } +} + +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px +} + +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 29px +} + +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + content: " "; + display: table +} + +.form-horizontal .form-group:after { + clear: both +} + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px + } +} + +.form-horizontal .has-feedback .form-control-feedback { + right: 15px +} + +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; + font-size: 20px + } +} + +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 14px + } +} + +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 16px; + line-height: 1.428571429; + border-radius: 1px; + -ms-user-select: none; + user-select: none +} + +.btn:focus, +.btn.focus, +.btn:active:focus, +.btn:active.focus, +.btn.active:focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px +} + +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none +} + +.btn:active, +.btn.active { + outline: 0; + background-image: none; + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) +} + +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + box-shadow: none +} + +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none +} + +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc +} + +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c +} + +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad +} + +.btn-default:active, +.btn-default.active, +.open>.btn-default.dropdown-toggle { + color: #333; + background-color: #e6e6e6; + border-color: #adadad +} + +.btn-default:active:hover, +.btn-default:active:focus, +.btn-default:active.focus, +.btn-default.active:hover, +.btn-default.active:focus, +.btn-default.active.focus, +.open>.btn-default.dropdown-toggle:hover, +.open>.btn-default.dropdown-toggle:focus, +.open>.btn-default.dropdown-toggle.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c +} + +.btn-default:active, +.btn-default.active, +.open>.btn-default.dropdown-toggle { + background-image: none +} + +.btn-default.disabled, +.btn-default.disabled:hover, +.btn-default.disabled:focus, +.btn-default.disabled.focus, +.btn-default.disabled:active, +.btn-default.disabled.active, +.btn-default[disabled], +.btn-default[disabled]:hover, +.btn-default[disabled]:focus, +.btn-default[disabled].focus, +.btn-default[disabled]:active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default, +fieldset[disabled] .btn-default:hover, +fieldset[disabled] .btn-default:focus, +fieldset[disabled] .btn-default.focus, +fieldset[disabled] .btn-default:active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc +} + +.btn-default .badge { + color: #fff; + background-color: #333 +} + +.btn-primary { + color: #fff; + background-color: #00babc; + border-color: #00babc +} + +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #008889; + border-color: #003c3d +} + +.btn-primary:hover { + color: #fff; + background-color: #008889; + border-color: #007d7f +} + +.btn-primary:active, +.btn-primary.active, +.open>.btn-primary.dropdown-toggle { + color: #fff; + background-color: #008889; + border-color: #007d7f +} + +.btn-primary:active:hover, +.btn-primary:active:focus, +.btn-primary:active.focus, +.btn-primary.active:hover, +.btn-primary.active:focus, +.btn-primary.active.focus, +.open>.btn-primary.dropdown-toggle:hover, +.open>.btn-primary.dropdown-toggle:focus, +.open>.btn-primary.dropdown-toggle.focus { + color: #fff; + background-color: #006465; + border-color: #003c3d +} + +.btn-primary:active, +.btn-primary.active, +.open>.btn-primary.dropdown-toggle { + background-image: none +} + +.btn-primary.disabled, +.btn-primary.disabled:hover, +.btn-primary.disabled:focus, +.btn-primary.disabled.focus, +.btn-primary.disabled:active, +.btn-primary.disabled.active, +.btn-primary[disabled], +.btn-primary[disabled]:hover, +.btn-primary[disabled]:focus, +.btn-primary[disabled].focus, +.btn-primary[disabled]:active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary, +fieldset[disabled] .btn-primary:hover, +fieldset[disabled] .btn-primary:focus, +fieldset[disabled] .btn-primary.focus, +fieldset[disabled] .btn-primary:active, +fieldset[disabled] .btn-primary.active { + background-color: #00babc; + border-color: #00babc +} + +.btn-primary .badge { + color: #00babc; + background-color: #fff +} + +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #5cb85c +} + +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #2d672d +} + +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #419641 +} + +.btn-success:active, +.btn-success.active, +.open>.btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + border-color: #419641 +} + +.btn-success:active:hover, +.btn-success:active:focus, +.btn-success:active.focus, +.btn-success.active:hover, +.btn-success.active:focus, +.btn-success.active.focus, +.open>.btn-success.dropdown-toggle:hover, +.open>.btn-success.dropdown-toggle:focus, +.open>.btn-success.dropdown-toggle.focus { + color: #fff; + background-color: #398439; + border-color: #2d672d +} + +.btn-success:active, +.btn-success.active, +.open>.btn-success.dropdown-toggle { + background-image: none +} + +.btn-success.disabled, +.btn-success.disabled:hover, +.btn-success.disabled:focus, +.btn-success.disabled.focus, +.btn-success.disabled:active, +.btn-success.disabled.active, +.btn-success[disabled], +.btn-success[disabled]:hover, +.btn-success[disabled]:focus, +.btn-success[disabled].focus, +.btn-success[disabled]:active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success, +fieldset[disabled] .btn-success:hover, +fieldset[disabled] .btn-success:focus, +fieldset[disabled] .btn-success.focus, +fieldset[disabled] .btn-success:active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #5cb85c +} + +.btn-success .badge { + color: #5cb85c; + background-color: #fff +} + +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de +} + +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1f7e9a +} + +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #2aabd2 +} + +.btn-info:active, +.btn-info.active, +.open>.btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + border-color: #2aabd2 +} + +.btn-info:active:hover, +.btn-info:active:focus, +.btn-info:active.focus, +.btn-info.active:hover, +.btn-info.active:focus, +.btn-info.active.focus, +.open>.btn-info.dropdown-toggle:hover, +.open>.btn-info.dropdown-toggle:focus, +.open>.btn-info.dropdown-toggle.focus { + color: #fff; + background-color: #269abc; + border-color: #1f7e9a +} + +.btn-info:active, +.btn-info.active, +.open>.btn-info.dropdown-toggle { + background-image: none +} + +.btn-info.disabled, +.btn-info.disabled:hover, +.btn-info.disabled:focus, +.btn-info.disabled.focus, +.btn-info.disabled:active, +.btn-info.disabled.active, +.btn-info[disabled], +.btn-info[disabled]:hover, +.btn-info[disabled]:focus, +.btn-info[disabled].focus, +.btn-info[disabled]:active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info, +fieldset[disabled] .btn-info:hover, +fieldset[disabled] .btn-info:focus, +fieldset[disabled] .btn-info.focus, +fieldset[disabled] .btn-info:active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #5bc0de +} + +.btn-info .badge { + color: #5bc0de; + background-color: #fff +} + +.btn-warning { + color: #fff; + background-color: #E6B291; + border-color: #e6b291 +} + +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #dd9567; + border-color: #ca6a2e +} + +.btn-warning:hover { + color: #fff; + background-color: #dd9567; + border-color: #db8f5f +} + +.btn-warning:active, +.btn-warning.active, +.open>.btn-warning.dropdown-toggle { + color: #fff; + background-color: #dd9567; + border-color: #db8f5f +} + +.btn-warning:active:hover, +.btn-warning:active:focus, +.btn-warning:active.focus, +.btn-warning.active:hover, +.btn-warning.active:focus, +.btn-warning.active.focus, +.open>.btn-warning.dropdown-toggle:hover, +.open>.btn-warning.dropdown-toggle:focus, +.open>.btn-warning.dropdown-toggle.focus { + color: #fff; + background-color: #d6814a; + border-color: #ca6a2e +} + +.btn-warning:active, +.btn-warning.active, +.open>.btn-warning.dropdown-toggle { + background-image: none +} + +.btn-warning.disabled, +.btn-warning.disabled:hover, +.btn-warning.disabled:focus, +.btn-warning.disabled.focus, +.btn-warning.disabled:active, +.btn-warning.disabled.active, +.btn-warning[disabled], +.btn-warning[disabled]:hover, +.btn-warning[disabled]:focus, +.btn-warning[disabled].focus, +.btn-warning[disabled]:active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning, +fieldset[disabled] .btn-warning:hover, +fieldset[disabled] .btn-warning:focus, +fieldset[disabled] .btn-warning.focus, +fieldset[disabled] .btn-warning:active, +fieldset[disabled] .btn-warning.active { + background-color: #E6B291; + border-color: #e6b291 +} + +.btn-warning .badge { + color: #E6B291; + background-color: #fff +} + +.btn-danger { + color: #fff; + background-color: #D8636F; + border-color: #d8636f +} + +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #ce3a49; + border-color: #962631 +} + +.btn-danger:hover { + color: #fff; + background-color: #ce3a49; + border-color: #cb3342 +} + +.btn-danger:active, +.btn-danger.active, +.open>.btn-danger.dropdown-toggle { + color: #fff; + background-color: #ce3a49; + border-color: #cb3342 +} + +.btn-danger:active:hover, +.btn-danger:active:focus, +.btn-danger:active.focus, +.btn-danger.active:hover, +.btn-danger.active:focus, +.btn-danger.active.focus, +.open>.btn-danger.dropdown-toggle:hover, +.open>.btn-danger.dropdown-toggle:focus, +.open>.btn-danger.dropdown-toggle.focus { + color: #fff; + background-color: #b72e3c; + border-color: #962631 +} + +.btn-danger:active, +.btn-danger.active, +.open>.btn-danger.dropdown-toggle { + background-image: none +} + +.btn-danger.disabled, +.btn-danger.disabled:hover, +.btn-danger.disabled:focus, +.btn-danger.disabled.focus, +.btn-danger.disabled:active, +.btn-danger.disabled.active, +.btn-danger[disabled], +.btn-danger[disabled]:hover, +.btn-danger[disabled]:focus, +.btn-danger[disabled].focus, +.btn-danger[disabled]:active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger, +fieldset[disabled] .btn-danger:hover, +fieldset[disabled] .btn-danger:focus, +fieldset[disabled] .btn-danger.focus, +fieldset[disabled] .btn-danger:active, +fieldset[disabled] .btn-danger.active { + background-color: #D8636F; + border-color: #d8636f +} + +.btn-danger .badge { + color: #D8636F; + background-color: #fff +} + +.btn-link { + color: #00babc; + font-weight: normal; + border-radius: 0 +} + +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + box-shadow: none +} + +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent +} + +.btn-link:hover, +.btn-link:focus { + color: #006e70; + text-decoration: underline; + background-color: transparent +} + +.btn-link[disabled]:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:hover, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none +} + +.btn-lg, +.btn-group-lg>.btn { + padding: 10px 16px; + font-size: 20px; + line-height: 1.33; + border-radius: 4px +} + +.btn-sm, +.btn-group-sm>.btn { + padding: 5px 10px; + font-size: 14px; + line-height: 1.5; + border-radius: 0px +} + +.btn-xs, +.btn-group-xs>.btn { + padding: 1px 5px; + font-size: 14px; + line-height: 1.5; + border-radius: 0px +} + +.btn-block { + display: block; + width: 100% +} + +.btn-block+.btn-block { + margin-top: 5px +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100% +} + +.fade { + opacity: 0; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear +} + +.fade.in { + opacity: 1 +} + +.collapse { + display: none +} + +.collapse.in { + display: block +} + +tr.collapse.in { + display: table-row +} + +tbody.collapse.in { + display: table-row-group +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition-property: height, visibility; + transition-duration: 0.35s; + transition-timing-function: ease +} + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \ ; + border-right: 4px solid transparent; + border-left: 4px solid transparent +} + +.dropup, +.dropdown { + position: relative +} + +.dropdown-toggle:focus { + outline: 0 +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 16px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 1px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box +} + +.dropdown-menu.pull-right { + right: 0; + left: auto +} + +.dropdown-menu .divider { + height: 1px; + margin: 10px 0; + overflow: hidden; + background-color: #e5e5e5 +} + +.dropdown-menu>li>a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333333; + white-space: nowrap +} + +.dropdown-menu>li>a:hover, +.dropdown-menu>li>a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5 +} + +.dropdown-menu>.active>a, +.dropdown-menu>.active>a:hover, +.dropdown-menu>.active>a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #00babc +} + +.dropdown-menu>.disabled>a, +.dropdown-menu>.disabled>a:hover, +.dropdown-menu>.disabled>a:focus { + color: #777777 +} + +.dropdown-menu>.disabled>a:hover, +.dropdown-menu>.disabled>a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + cursor: not-allowed +} + +.open>.dropdown-menu { + display: block +} + +.open>a { + outline: 0 +} + +.dropdown-menu-right { + left: auto; + right: 0 +} + +.dropdown-menu-left { + left: 0; + right: auto +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 14px; + line-height: 1.428571429; + color: #777777; + white-space: nowrap +} + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990 +} + +.pull-right>.dropdown-menu { + right: 0; + left: auto +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \ ; + content: "" +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px +} + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto + } + + .navbar-right .dropdown-menu-left { + left: 0; + right: auto + } +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle +} + +.btn-group>.btn, +.btn-group-vertical>.btn { + position: relative; + float: left +} + +.btn-group>.btn:hover, +.btn-group>.btn:focus, +.btn-group>.btn:active, +.btn-group>.btn.active, +.btn-group-vertical>.btn:hover, +.btn-group-vertical>.btn:focus, +.btn-group-vertical>.btn:active, +.btn-group-vertical>.btn.active { + z-index: 2 +} + +.btn-group .btn+.btn, +.btn-group .btn+.btn-group, +.btn-group .btn-group+.btn, +.btn-group .btn-group+.btn-group { + margin-left: -1px +} + +.btn-toolbar { + margin-left: -5px +} + +.btn-toolbar:before, +.btn-toolbar:after { + content: " "; + display: table +} + +.btn-toolbar:after { + clear: both +} + +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left +} + +.btn-toolbar>.btn, +.btn-toolbar>.btn-group, +.btn-toolbar>.input-group { + margin-left: 5px +} + +.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0 +} + +.btn-group>.btn:first-child { + margin-left: 0 +} + +.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0 +} + +.btn-group>.btn:last-child:not(:first-child), +.btn-group>.dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0 +} + +.btn-group>.btn-group { + float: left +} + +.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn { + border-radius: 0 +} + +.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child, +.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0 +} + +.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0 +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0 +} + +.btn-group>.btn+.dropdown-toggle { + padding-left: 8px; + padding-right: 8px +} + +.btn-group>.btn-lg+.dropdown-toggle, +.btn-group-lg.btn-group>.btn+.dropdown-toggle { + padding-left: 12px; + padding-right: 12px +} + +.btn-group.open .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) +} + +.btn-group.open .dropdown-toggle.btn-link { + box-shadow: none +} + +.btn .caret { + margin-left: 0 +} + +.btn-lg .caret, +.btn-group-lg>.btn .caret { + border-width: 5px 5px 0; + border-bottom-width: 0 +} + +.dropup .btn-lg .caret, +.dropup .btn-group-lg>.btn .caret { + border-width: 0 5px 5px +} + +.btn-group-vertical>.btn, +.btn-group-vertical>.btn-group, +.btn-group-vertical>.btn-group>.btn { + display: block; + float: none; + width: 100%; + max-width: 100% +} + +.btn-group-vertical>.btn-group:before, +.btn-group-vertical>.btn-group:after { + content: " "; + display: table +} + +.btn-group-vertical>.btn-group:after { + clear: both +} + +.btn-group-vertical>.btn-group>.btn { + float: none +} + +.btn-group-vertical>.btn+.btn, +.btn-group-vertical>.btn+.btn-group, +.btn-group-vertical>.btn-group+.btn, +.btn-group-vertical>.btn-group+.btn-group { + margin-top: -1px; + margin-left: 0 +} + +.btn-group-vertical>.btn:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.btn-group-vertical>.btn:first-child:not(:last-child) { + border-top-right-radius: 1px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group-vertical>.btn:last-child:not(:first-child) { + border-bottom-left-radius: 1px; + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn { + border-radius: 0 +} + +.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child, +.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate +} + +.btn-group-justified>.btn, +.btn-group-justified>.btn-group { + float: none; + display: table-cell; + width: 1% +} + +.btn-group-justified>.btn-group .btn { + width: 100% +} + +.btn-group-justified>.btn-group .dropdown-menu { + left: auto +} + +[data-toggle="buttons"]>.btn input[type="radio"], +[data-toggle="buttons"]>.btn input[type="checkbox"], +[data-toggle="buttons"]>.btn-group>.btn input[type="radio"], +[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none +} + +.input-group { + position: relative; + display: table; + border-collapse: separate +} + +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0 +} + +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0 +} + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell +} + +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle +} + +.input-group-addon { + padding: 6px 12px; + font-size: 16px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 1px +} + +.input-group-addon.input-sm, +.input-group-sm>.input-group-addon, +.input-group-sm>.input-group-btn>.input-group-addon.btn { + padding: 5px 10px; + font-size: 14px; + border-radius: 0px +} + +.input-group-addon.input-lg, +.input-group-lg>.input-group-addon, +.input-group-lg>.input-group-btn>.input-group-addon.btn { + padding: 10px 16px; + font-size: 20px; + border-radius: 4px +} + +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0 +} + +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child>.btn, +.input-group-btn:first-child>.btn-group>.btn, +.input-group-btn:first-child>.dropdown-toggle, +.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child>.btn-group:not(:last-child)>.btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0 +} + +.input-group-addon:first-child { + border-right: 0 +} + +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child>.btn, +.input-group-btn:last-child>.btn-group>.btn, +.input-group-btn:last-child>.dropdown-toggle, +.input-group-btn:first-child>.btn:not(:first-child), +.input-group-btn:first-child>.btn-group:not(:first-child)>.btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0 +} + +.input-group-addon:last-child { + border-left: 0 +} + +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap +} + +.input-group-btn>.btn { + position: relative +} + +.input-group-btn>.btn+.btn { + margin-left: -1px +} + +.input-group-btn>.btn:hover, +.input-group-btn>.btn:focus, +.input-group-btn>.btn:active { + z-index: 2 +} + +.input-group-btn:first-child>.btn, +.input-group-btn:first-child>.btn-group { + margin-right: -1px +} + +.input-group-btn:last-child>.btn, +.input-group-btn:last-child>.btn-group { + z-index: 2; + margin-left: -1px +} + +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none +} + +.nav:before, +.nav:after { + content: " "; + display: table +} + +.nav:after { + clear: both +} + +.nav>li { + position: relative; + display: block +} + +.nav>li>a { + position: relative; + display: block; + padding: 10px 15px +} + +.nav>li>a:hover, +.nav>li>a:focus { + text-decoration: none; + background-color: #eeeeee +} + +.nav>li.disabled>a { + color: #777777 +} + +.nav>li.disabled>a:hover, +.nav>li.disabled>a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed +} + +.nav .open>a, +.nav .open>a:hover, +.nav .open>a:focus { + background-color: #eeeeee; + border-color: #00babc +} + +.nav .nav-divider { + height: 1px; + margin: 10px 0; + overflow: hidden; + background-color: #e5e5e5 +} + +.nav>li>a>img { + max-width: none +} + +.nav-tabs { + border-bottom: 1px solid #ddd +} + +.nav-tabs>li { + float: left; + margin-bottom: -1px +} + +.nav-tabs>li>a { + margin-right: 2px; + line-height: 1.428571429; + border: 1px solid transparent; + border-radius: 1px 1px 0 0 +} + +.nav-tabs>li>a:hover { + border-color: #eeeeee #eeeeee #ddd +} + +.nav-tabs>li.active>a, +.nav-tabs>li.active>a:hover, +.nav-tabs>li.active>a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #00babc; + border-bottom-color: transparent; + cursor: default +} + +.nav-pills>li { + float: left +} + +.nav-pills>li>a { + border-radius: 1px +} + +.nav-pills>li+li { + margin-left: 2px +} + +.nav-pills>li.active>a, +.nav-pills>li.active>a:hover, +.nav-pills>li.active>a:focus { + color: #fff; + background-color: #00babc +} + +.nav-stacked>li { + float: none +} + +.nav-stacked>li+li { + margin-top: 2px; + margin-left: 0 +} + +.nav-justified, +.nav-tabs.nav-justified { + width: 100% +} + +.nav-justified>li, +.nav-tabs.nav-justified>li { + float: none +} + +.nav-justified>li>a, +.nav-tabs.nav-justified>li>a { + text-align: center; + margin-bottom: 5px +} + +.nav-justified>.dropdown .dropdown-menu { + top: auto; + left: auto +} + +@media (min-width: 768px) { + + .nav-justified>li, + .nav-tabs.nav-justified>li { + display: table-cell; + width: 1% + } + + .nav-justified>li>a, + .nav-tabs.nav-justified>li>a { + margin-bottom: 0 + } +} + +.nav-tabs-justified, +.nav-tabs.nav-justified { + border-bottom: 0 +} + +.nav-tabs-justified>li>a, +.nav-tabs.nav-justified>li>a { + margin-right: 0; + border-radius: 1px +} + +.nav-tabs-justified>.active>a, +.nav-tabs.nav-justified>.active>a, +.nav-tabs-justified>.active>a:hover, +.nav-tabs.nav-justified>.active>a:hover, +.nav-tabs-justified>.active>a:focus, +.nav-tabs.nav-justified>.active>a:focus { + border: 1px solid #ddd +} + +@media (min-width: 768px) { + + .nav-tabs-justified>li>a, + .nav-tabs.nav-justified>li>a { + border-bottom: 1px solid #ddd; + border-radius: 1px 1px 0 0 + } + + .nav-tabs-justified>.active>a, + .nav-tabs.nav-justified>.active>a, + .nav-tabs-justified>.active>a:hover, + .nav-tabs.nav-justified>.active>a:hover, + .nav-tabs-justified>.active>a:focus, + .nav-tabs.nav-justified>.active>a:focus { + border-bottom-color: #00babc + } +} + +.tab-content>.tab-pane { + display: none +} + +.tab-content>.active { + display: block +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 22px; + border: 1px solid transparent +} + +.navbar:before, +.navbar:after { + content: " "; + display: table +} + +.navbar:after { + clear: both +} + +@media (min-width: 768px) { + .navbar { + border-radius: 1px + } +} + +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table +} + +.navbar-header:after { + clear: both +} + +@media (min-width: 768px) { + .navbar-header { + float: left + } +} + +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); +} + +.navbar-collapse:before, +.navbar-collapse:after { + content: " "; + display: table +} + +.navbar-collapse:after { + clear: both +} + +.navbar-collapse.in { + overflow-y: auto +} + +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none + } + + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important + } + + .navbar-collapse.in { + overflow-y: visible + } + + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0 + } +} + +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px +} + +@media (max-device-width: 480px) and (orientation: landscape) { + + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px + } +} + +.container>.navbar-header, +.container>.navbar-collapse, +.container-fluid>.navbar-header, +.container-fluid>.navbar-collapse { + margin-right: -15px; + margin-left: -15px +} + +@media (min-width: 768px) { + + .container>.navbar-header, + .container>.navbar-collapse, + .container-fluid>.navbar-header, + .container-fluid>.navbar-collapse { + margin-right: 0; + margin-left: 0 + } +} + +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px +} + +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0 + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030 +} + +@media (min-width: 768px) { + + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0 + } +} + +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px +} + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0 +} + +.navbar-brand { + float: left; + padding: 14px 15px; + font-size: 20px; + line-height: 22px; + height: 50px +} + +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none +} + +.navbar-brand>img { + display: block +} + +@media (min-width: 768px) { + + .navbar>.container .navbar-brand, + .navbar>.container-fluid .navbar-brand { + margin-left: -15px + } +} + +.navbar-toggle { + position: relative; + float: right; + margin-right: 15px; + padding: 9px 10px; + margin-top: 8px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 1px +} + +.navbar-toggle:focus { + outline: 0 +} + +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px +} + +.navbar-toggle .icon-bar+.icon-bar { + margin-top: 4px +} + +@media (min-width: 768px) { + .navbar-toggle { + display: none + } +} + +.navbar-nav { + margin: 7px -15px +} + +.navbar-nav>li>a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px +} + +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none + } + + .navbar-nav .open .dropdown-menu>li>a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px + } + + .navbar-nav .open .dropdown-menu>li>a { + line-height: 22px + } + + .navbar-nav .open .dropdown-menu>li>a:hover, + .navbar-nav .open .dropdown-menu>li>a:focus { + background-image: none + } +} + +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0 + } + + .navbar-nav>li { + float: left + } + + .navbar-nav>li>a { + padding-top: 14px; + padding-bottom: 14px + } +} + +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 7px; + margin-bottom: 7px +} + +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle + } + + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle + } + + .navbar-form .form-control-static { + display: inline-block + } + + .navbar-form .input-group { + display: inline-table; + vertical-align: middle + } + + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto + } + + .navbar-form .input-group>.form-control { + width: 100% + } + + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle + } + + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle + } + + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0 + } + + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0 + } + + .navbar-form .has-feedback .form-control-feedback { + top: 0 + } +} + +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px + } + + .navbar-form .form-group:last-child { + margin-bottom: 0 + } +} + +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + box-shadow: none + } +} + +.navbar-nav>li>.dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.navbar-btn { + margin-top: 7px; + margin-bottom: 7px +} + +.navbar-btn.btn-sm, +.btn-group-sm>.navbar-btn.btn { + margin-top: 8.5px; + margin-bottom: 8.5px +} + +.navbar-btn.btn-xs, +.btn-group-xs>.navbar-btn.btn { + margin-top: 14px; + margin-bottom: 14px +} + +.navbar-text { + margin-top: 14px; + margin-bottom: 14px +} + +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px + } +} + +@media (min-width: 768px) { + .navbar-left { + float: left !important + } + + .navbar-right { + float: right !important; + margin-right: -15px + } + + .navbar-right~.navbar-right { + margin-right: 0 + } +} + +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7 +} + +.navbar-default .navbar-brand { + color: #777 +} + +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent +} + +.navbar-default .navbar-text { + color: #777 +} + +.navbar-default .navbar-nav>li>a { + color: #777 +} + +.navbar-default .navbar-nav>li>a:hover, +.navbar-default .navbar-nav>li>a:focus { + color: #333; + background-color: transparent +} + +.navbar-default .navbar-nav>.active>a, +.navbar-default .navbar-nav>.active>a:hover, +.navbar-default .navbar-nav>.active>a:focus { + color: #555; + background-color: #e7e7e7 +} + +.navbar-default .navbar-nav>.disabled>a, +.navbar-default .navbar-nav>.disabled>a:hover, +.navbar-default .navbar-nav>.disabled>a:focus { + color: #ccc; + background-color: transparent +} + +.navbar-default .navbar-toggle { + border-color: #ddd +} + +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd +} + +.navbar-default .navbar-toggle .icon-bar { + background-color: #888 +} + +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7 +} + +.navbar-default .navbar-nav>.open>a, +.navbar-default .navbar-nav>.open>a:hover, +.navbar-default .navbar-nav>.open>a:focus { + background-color: #e7e7e7; + color: #555 +} + +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu>li>a { + color: #777 + } + + .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover, + .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus { + color: #333; + background-color: transparent + } + + .navbar-default .navbar-nav .open .dropdown-menu>.active>a, + .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover, + .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus { + color: #555; + background-color: #e7e7e7 + } + + .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a, + .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover, + .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus { + color: #ccc; + background-color: transparent + } +} + +.navbar-default .navbar-link { + color: #777 +} + +.navbar-default .navbar-link:hover { + color: #333 +} + +.navbar-default .btn-link { + color: #777 +} + +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333 +} + +.navbar-default .btn-link[disabled]:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:hover, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc +} + +.navbar-inverse { + background-color: #222; + border-color: #090909 +} + +.navbar-inverse .navbar-brand { + color: #777777 +} + +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent +} + +.navbar-inverse .navbar-text { + color: #777777 +} + +.navbar-inverse .navbar-nav>li>a { + color: #777777 +} + +.navbar-inverse .navbar-nav>li>a:hover, +.navbar-inverse .navbar-nav>li>a:focus { + color: #fff; + background-color: transparent +} + +.navbar-inverse .navbar-nav>.active>a, +.navbar-inverse .navbar-nav>.active>a:hover, +.navbar-inverse .navbar-nav>.active>a:focus { + color: #fff; + background-color: #090909 +} + +.navbar-inverse .navbar-nav>.disabled>a, +.navbar-inverse .navbar-nav>.disabled>a:hover, +.navbar-inverse .navbar-nav>.disabled>a:focus { + color: #444; + background-color: transparent +} + +.navbar-inverse .navbar-toggle { + border-color: #333 +} + +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333 +} + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff +} + +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010 +} + +.navbar-inverse .navbar-nav>.open>a, +.navbar-inverse .navbar-nav>.open>a:hover, +.navbar-inverse .navbar-nav>.open>a:focus { + background-color: #090909; + color: #fff +} + +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header { + border-color: #090909 + } + + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #090909 + } + + .navbar-inverse .navbar-nav .open .dropdown-menu>li>a { + color: #777777 + } + + .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus { + color: #fff; + background-color: transparent + } + + .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a, + .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus { + color: #fff; + background-color: #090909 + } + + .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a, + .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus { + color: #444; + background-color: transparent + } +} + +.navbar-inverse .navbar-link { + color: #777777 +} + +.navbar-inverse .navbar-link:hover { + color: #fff +} + +.navbar-inverse .btn-link { + color: #777777 +} + +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff +} + +.navbar-inverse .btn-link[disabled]:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:hover, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444 +} + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 22px; + list-style: none; + background-color: #f5f5f5; + border-radius: 1px +} + +.breadcrumb>li { + display: inline-block +} + +.breadcrumb>li+li:before { + content: "/ "; + padding: 0 5px; + color: #ccc +} + +.breadcrumb>.active { + color: #777777 +} + +.pagination { + display: inline-block; + padding-left: 0; + margin: 22px 0; + border-radius: 1px +} + +.pagination>li { + display: inline +} + +.pagination>li>a, +.pagination>li>span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.428571429; + text-decoration: none; + color: #00babc; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px +} + +.pagination>li:first-child>a, +.pagination>li:first-child>span { + margin-left: 0; + border-bottom-left-radius: 1px; + border-top-left-radius: 1px +} + +.pagination>li:last-child>a, +.pagination>li:last-child>span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px +} + +.pagination>li>a:hover, +.pagination>li>a:focus, +.pagination>li>span:hover, +.pagination>li>span:focus { + z-index: 3; + color: #006e70; + background-color: #eeeeee; + border-color: #ddd +} + +.pagination>.active>a, +.pagination>.active>a:hover, +.pagination>.active>a:focus, +.pagination>.active>span, +.pagination>.active>span:hover, +.pagination>.active>span:focus { + z-index: 2; + color: #fff; + background-color: #00babc; + border-color: #00babc; + cursor: default +} + +.pagination>.disabled>span, +.pagination>.disabled>span:hover, +.pagination>.disabled>span:focus, +.pagination>.disabled>a, +.pagination>.disabled>a:hover, +.pagination>.disabled>a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed +} + +.pagination-lg>li>a, +.pagination-lg>li>span { + padding: 10px 16px; + font-size: 20px; + line-height: 1.33 +} + +.pagination-lg>li:first-child>a, +.pagination-lg>li:first-child>span { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px +} + +.pagination-lg>li:last-child>a, +.pagination-lg>li:last-child>span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px +} + +.pagination-sm>li>a, +.pagination-sm>li>span { + padding: 5px 10px; + font-size: 14px; + line-height: 1.5 +} + +.pagination-sm>li:first-child>a, +.pagination-sm>li:first-child>span { + border-bottom-left-radius: 0px; + border-top-left-radius: 0px +} + +.pagination-sm>li:last-child>a, +.pagination-sm>li:last-child>span { + border-bottom-right-radius: 0px; + border-top-right-radius: 0px +} + +.pager { + padding-left: 0; + margin: 22px 0; + list-style: none; + text-align: center +} + +.pager:before, +.pager:after { + content: " "; + display: table +} + +.pager:after { + clear: both +} + +.pager li { + display: inline +} + +.pager li>a, +.pager li>span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px +} + +.pager li>a:hover, +.pager li>a:focus { + text-decoration: none; + background-color: #eeeeee +} + +.pager .next>a, +.pager .next>span { + float: right +} + +.pager .previous>a, +.pager .previous>span { + float: left +} + +.pager .disabled>a, +.pager .disabled>a:hover, +.pager .disabled>a:focus, +.pager .disabled>span { + color: #777777; + background-color: #fff; + cursor: not-allowed +} + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em +} + +.label:empty { + display: none +} + +.btn .label { + position: relative; + top: -1px +} + +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer +} + +.label-default { + background-color: #777777 +} + +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e +} + +.label-primary { + background-color: #00babc +} + +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #008889 +} + +.label-success { + background-color: #5cb85c +} + +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44 +} + +.label-info { + background-color: #5bc0de +} + +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5 +} + +.label-warning { + background-color: #E6B291 +} + +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #dd9567 +} + +.label-danger { + background-color: #D8636F +} + +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #ce3a49 +} + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 14px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #67676d; + border-radius: 10px +} + +.badge:empty { + display: none +} + +.btn .badge { + position: relative; + top: -1px +} + +.btn-xs .badge, +.btn-group-xs>.btn .badge, +.btn-group-xs>.btn .badge { + top: 0; + padding: 1px 5px +} + +.list-group-item.active>.badge, +.nav-pills>.active>a>.badge { + color: #00babc; + background-color: #fff +} + +.list-group-item>.badge { + float: right +} + +.list-group-item>.badge+.badge { + margin-right: 5px +} + +.nav-pills>li>a>.badge { + margin-left: 3px +} + +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer +} + +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee +} + +.jumbotron h1, +.jumbotron .h1 { + color: inherit +} + +.jumbotron p { + margin-bottom: 15px; + font-size: 24px; + font-weight: 200 +} + +.jumbotron>hr { + border-top-color: #d5d5d5 +} + +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 4px +} + +.jumbotron .container { + max-width: 100% +} + +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px + } + + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px + } + + .jumbotron h1, + .jumbotron .h1 { + font-size: 72px + } +} + +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 22px; + line-height: 1.428571429; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 1px; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out +} + +.thumbnail>img, +.thumbnail a>img { + display: block; + max-width: 100%; + height: auto; + margin-left: auto; + margin-right: auto +} + +.thumbnail .caption { + padding: 9px; + color: #333333 +} + +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #00babc +} + +.alert { + padding: 15px; + margin-bottom: 22px; + border: 1px solid transparent; + border-radius: 1px +} + +.alert h4 { + margin-top: 0; + color: inherit +} + +.alert .alert-link { + font-weight: bold +} + +.alert>p, +.alert>ul { + margin-bottom: 0 +} + +.alert>p+p { + margin-top: 5px +} + +.alert-dismissable, +.alert-dismissible { + padding-right: 35px +} + +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit +} + +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d +} + +.alert-success hr { + border-top-color: #c9e2b3 +} + +.alert-success .alert-link { + color: #2b542c +} + +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f +} + +.alert-info hr { + border-top-color: #a6e1ec +} + +.alert-info .alert-link { + color: #245269 +} + +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b +} + +.alert-warning hr { + border-top-color: #f7e1b5 +} + +.alert-warning .alert-link { + color: #66512c +} + +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442 +} + +.alert-danger hr { + border-top-color: #e4b9c0 +} + +.alert-danger .alert-link { + color: #843534 +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0 + } + + to { + background-position: 0 0 + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0 + } + + to { + background-position: 0 0 + } +} + +.progress { + overflow: hidden; + height: 22px; + margin-bottom: 22px; + background-color: #f5f5f5; + border-radius: 1px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1) +} + +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 14px; + line-height: 22px; + color: #fff; + text-align: center; + background-color: #00babc; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -o-transition: width 0.6s ease; + transition: width 0.6s ease +} + +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px +} + +.progress.active .progress-bar, +.progress-bar.active { + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite +} + +.progress-bar-success { + background-color: #5cb85c +} + +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent) +} + +.progress-bar-info { + background-color: #5bc0de +} + +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent) +} + +.progress-bar-warning { + background-color: #E6B291 +} + +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent) +} + +.progress-bar-danger { + background-color: #D8636F +} + +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent) +} + +.media { + margin-top: 15px +} + +.media:first-child { + margin-top: 0 +} + +.media, +.media-body { + zoom: 1; + overflow: hidden +} + +.media-body { + width: 10000px +} + +.media-object { + display: block +} + +.media-object.img-thumbnail { + max-width: none +} + +.media-right, +.media>.pull-right { + padding-left: 10px +} + +.media-left, +.media>.pull-left { + padding-right: 10px +} + +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top +} + +.media-middle { + vertical-align: middle +} + +.media-bottom { + vertical-align: bottom +} + +.media-heading { + margin-top: 0; + margin-bottom: 5px +} + +.media-list { + padding-left: 0; + list-style: none +} + +.list-group { + margin-bottom: 20px; + padding-left: 0 +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd +} + +.list-group-item:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px +} + +a.list-group-item, +button.list-group-item { + color: #555 +} + +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333 +} + +a.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:hover, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5 +} + +button.list-group-item { + width: 100%; + text-align: left +} + +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed +} + +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit +} + +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777 +} + +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #00babc; + border-color: #00babc +} + +.list-group-item.active .list-group-item-heading, +.list-group-item.active .list-group-item-heading>small, +.list-group-item.active .list-group-item-heading>.small, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading>small, +.list-group-item.active:hover .list-group-item-heading>.small, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading>small, +.list-group-item.active:focus .list-group-item-heading>.small { + color: inherit +} + +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #89feff +} + +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8 +} + +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d +} + +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit +} + +a.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:hover, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6 +} + +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active, +button.list-group-item-success.active:hover, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d +} + +.list-group-item-info { + color: #31708f; + background-color: #d9edf7 +} + +a.list-group-item-info, +button.list-group-item-info { + color: #31708f +} + +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit +} + +a.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:hover, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3 +} + +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active, +button.list-group-item-info.active:hover, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f +} + +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3 +} + +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b +} + +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit +} + +a.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:hover, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc +} + +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active, +button.list-group-item-warning.active:hover, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b +} + +.list-group-item-danger { + color: #a94442; + background-color: #f2dede +} + +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442 +} + +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit +} + +a.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:hover, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc +} + +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active, +button.list-group-item-danger.active:hover, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442 +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3 +} + +.panel { + margin-bottom: 22px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 1px; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) +} + +.panel-body { + padding: 15px +} + +.panel-body:before, +.panel-body:after { + content: " "; + display: table +} + +.panel-body:after { + clear: both +} + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 0px; + border-top-left-radius: 0px +} + +.panel-heading>.dropdown .dropdown-toggle { + color: inherit +} + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 18px; + color: inherit +} + +.panel-title>a, +.panel-title>small, +.panel-title>.small, +.panel-title>small>a, +.panel-title>.small>a { + color: inherit +} + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px +} + +.panel>.list-group, +.panel>.panel-collapse>.list-group { + margin-bottom: 0 +} + +.panel>.list-group .list-group-item, +.panel>.panel-collapse>.list-group .list-group-item { + border-width: 1px 0; + border-radius: 0 +} + +.panel>.list-group:first-child .list-group-item:first-child, +.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 0px; + border-top-left-radius: 0px +} + +.panel>.list-group:last-child .list-group-item:last-child, +.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px +} + +.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +.panel-heading+.list-group .list-group-item:first-child { + border-top-width: 0 +} + +.list-group+.panel-footer { + border-top-width: 0 +} + +.panel>.table, +.panel>.table-responsive>.table, +.panel>.panel-collapse>.table { + margin-bottom: 0 +} + +.panel>.table caption, +.panel>.table-responsive>.table caption, +.panel>.panel-collapse>.table caption { + padding-left: 15px; + padding-right: 15px +} + +.panel>.table:first-child, +.panel>.table-responsive:first-child>.table:first-child { + border-top-right-radius: 0px; + border-top-left-radius: 0px +} + +.panel>.table:first-child>thead:first-child>tr:first-child, +.panel>.table:first-child>tbody:first-child>tr:first-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child, +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child { + border-top-left-radius: 0px; + border-top-right-radius: 0px +} + +.panel>.table:first-child>thead:first-child>tr:first-child td:first-child, +.panel>.table:first-child>thead:first-child>tr:first-child th:first-child, +.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child, +.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child, +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child, +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child { + border-top-left-radius: 0px +} + +.panel>.table:first-child>thead:first-child>tr:first-child td:last-child, +.panel>.table:first-child>thead:first-child>tr:first-child th:last-child, +.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child, +.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child, +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child, +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child { + border-top-right-radius: 0px +} + +.panel>.table:last-child, +.panel>.table-responsive:last-child>.table:last-child { + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px +} + +.panel>.table:last-child>tbody:last-child>tr:last-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child, +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child { + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px +} + +.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child, +.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child, +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child, +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child { + border-bottom-left-radius: 0px +} + +.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child, +.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child, +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child, +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child { + border-bottom-right-radius: 0px +} + +.panel>.panel-body+.table, +.panel>.panel-body+.table-responsive, +.panel>.table+.panel-body, +.panel>.table-responsive+.panel-body { + border-top: 1px solid #ddd +} + +.panel>.table>tbody:first-child>tr:first-child th, +.panel>.table>tbody:first-child>tr:first-child td { + border-top: 0 +} + +.panel>.table-bordered, +.panel>.table-responsive>.table-bordered { + border: 0 +} + +.panel>.table-bordered>thead>tr>th:first-child, +.panel>.table-bordered>thead>tr>td:first-child, +.panel>.table-bordered>tbody>tr>th:first-child, +.panel>.table-bordered>tbody>tr>td:first-child, +.panel>.table-bordered>tfoot>tr>th:first-child, +.panel>.table-bordered>tfoot>tr>td:first-child, +.panel>.table-responsive>.table-bordered>thead>tr>th:first-child, +.panel>.table-responsive>.table-bordered>thead>tr>td:first-child, +.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child, +.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child, +.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child, +.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child { + border-left: 0 +} + +.panel>.table-bordered>thead>tr>th:last-child, +.panel>.table-bordered>thead>tr>td:last-child, +.panel>.table-bordered>tbody>tr>th:last-child, +.panel>.table-bordered>tbody>tr>td:last-child, +.panel>.table-bordered>tfoot>tr>th:last-child, +.panel>.table-bordered>tfoot>tr>td:last-child, +.panel>.table-responsive>.table-bordered>thead>tr>th:last-child, +.panel>.table-responsive>.table-bordered>thead>tr>td:last-child, +.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child, +.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child, +.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child, +.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child { + border-right: 0 +} + +.panel>.table-bordered>thead>tr:first-child>td, +.panel>.table-bordered>thead>tr:first-child>th, +.panel>.table-bordered>tbody>tr:first-child>td, +.panel>.table-bordered>tbody>tr:first-child>th, +.panel>.table-responsive>.table-bordered>thead>tr:first-child>td, +.panel>.table-responsive>.table-bordered>thead>tr:first-child>th, +.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td, +.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th { + border-bottom: 0 +} + +.panel>.table-bordered>tbody>tr:last-child>td, +.panel>.table-bordered>tbody>tr:last-child>th, +.panel>.table-bordered>tfoot>tr:last-child>td, +.panel>.table-bordered>tfoot>tr:last-child>th, +.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td, +.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th, +.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td, +.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th { + border-bottom: 0 +} + +.panel>.table-responsive { + border: 0; + margin-bottom: 0 +} + +.panel-group { + margin-bottom: 22px +} + +.panel-group .panel { + margin-bottom: 0; + border-radius: 1px +} + +.panel-group .panel+.panel { + margin-top: 5px +} + +.panel-group .panel-heading { + border-bottom: 0 +} + +.panel-group .panel-heading+.panel-collapse>.panel-body, +.panel-group .panel-heading+.panel-collapse>.list-group { + border-top: 1px solid #ddd +} + +.panel-group .panel-footer { + border-top: 0 +} + +.panel-group .panel-footer+.panel-collapse .panel-body { + border-bottom: 1px solid #ddd +} + +.panel-default { + border-color: #ddd +} + +.panel-default>.panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd +} + +.panel-default>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #ddd +} + +.panel-default>.panel-heading .badge { + color: #f5f5f5; + background-color: #333333 +} + +.panel-default>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #ddd +} + +.panel-primary { + border-color: #00babc +} + +.panel-primary>.panel-heading { + color: #fff; + background-color: #00babc; + border-color: #00babc +} + +.panel-primary>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #00babc +} + +.panel-primary>.panel-heading .badge { + color: #00babc; + background-color: #fff +} + +.panel-primary>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #00babc +} + +.panel-success { + border-color: #d6e9c6 +} + +.panel-success>.panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6 +} + +.panel-success>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #d6e9c6 +} + +.panel-success>.panel-heading .badge { + color: #dff0d8; + background-color: #3c763d +} + +.panel-success>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #d6e9c6 +} + +.panel-info { + border-color: #bce8f1 +} + +.panel-info>.panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1 +} + +.panel-info>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #bce8f1 +} + +.panel-info>.panel-heading .badge { + color: #d9edf7; + background-color: #31708f +} + +.panel-info>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #bce8f1 +} + +.panel-warning { + border-color: #faebcc +} + +.panel-warning>.panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc +} + +.panel-warning>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #faebcc +} + +.panel-warning>.panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b +} + +.panel-warning>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #faebcc +} + +.panel-danger { + border-color: #ebccd1 +} + +.panel-danger>.panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1 +} + +.panel-danger>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #ebccd1 +} + +.panel-danger>.panel-heading .badge { + color: #f2dede; + background-color: #a94442 +} + +.panel-danger>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #ebccd1 +} + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0 +} + +.embed-responsive-16by9 { + padding-bottom: 56.25% +} + +.embed-responsive-4by3 { + padding-bottom: 75% +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 1px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05) +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15) +} + +.well-lg { + padding: 24px; + border-radius: 4px +} + +.well-sm { + padding: 9px; + border-radius: 0px +} + +.close { + float: right; + font-size: 24px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20) +} + +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50) +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} + +.modal-open { + overflow: hidden +} + +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + outline: 0 +} + +.modal.fade .modal-dialog { + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out +} + +.modal.in .modal-dialog { + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0) +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto +} + +.modal-dialog { + position: relative; + width: auto; + margin: 10px +} + +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #fff; + border: 1px solid transparent; + border-radius: 4px; + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0 +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #f5f2f2 +} + +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0) +} + +.modal-backdrop.in { + opacity: 0.95; + filter: alpha(opacity=95) +} + +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; + min-height: 16.428571429px +} + +.modal-header .close { + margin-top: -2px +} + +.modal-title { + margin: 0; + line-height: 1.428571429 +} + +.modal-body { + position: relative; + padding: 15px +} + +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5 +} + +.modal-footer:before, +.modal-footer:after { + content: " "; + display: table +} + +.modal-footer:after { + clear: both +} + +.modal-footer .btn+.btn { + margin-left: 5px; + margin-bottom: 0 +} + +.modal-footer .btn-group .btn+.btn { + margin-left: -1px +} + +.modal-footer .btn-block+.btn-block { + margin-left: 0 +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll +} + +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto + } + + .modal-content { + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5) + } + + .modal-sm { + width: 300px + } +} + +@media (min-width: 992px) { + .modal-lg { + width: 900px + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.428571429; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 14px; + opacity: 0; + filter: alpha(opacity=0) +} + +.tooltip.in { + opacity: 0.95; + filter: alpha(opacity=95) +} + +.tooltip.top { + margin-top: -3px; + padding: 5px 0 +} + +.tooltip.right { + margin-left: 3px; + padding: 0 5px +} + +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0 +} + +.tooltip.left { + margin-left: -3px; + padding: 0 5px +} + +.tooltip-inner { + max-width: 350px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #2c2c34; + border-radius: 1px +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #2c2c34 +} + +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #2c2c34 +} + +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #2c2c34 +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #2c2c34 +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #2c2c34 +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #2c2c34 +} + +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #2c2c34 +} + +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #2c2c34 +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.428571429; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 16px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 4px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2) +} + +.popover.top { + margin-top: -10px +} + +.popover.right { + margin-left: 10px +} + +.popover.bottom { + margin-top: 10px +} + +.popover.left { + margin-left: -10px +} + +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 16px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 3px 3px 0 0 +} + +.popover-content { + padding: 9px 14px +} + +.popover>.arrow, +.popover>.arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.popover>.arrow { + border-width: 11px +} + +.popover>.arrow:after { + border-width: 10px; + content: "" +} + +.popover.top>.arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px +} + +.popover.top>.arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff +} + +.popover.right>.arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25) +} + +.popover.right>.arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff +} + +.popover.bottom>.arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px +} + +.popover.bottom>.arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff +} + +.popover.left>.arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25) +} + +.popover.left>.arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px +} + +.carousel { + position: relative +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100% +} + +.carousel-inner>.item { + display: none; + position: relative; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left +} + +.carousel-inner>.item>img, +.carousel-inner>.item>a>img { + display: block; + max-width: 100%; + height: auto; + line-height: 1 +} + +@media all and (transform-3d), +(-webkit-transform-3d) { + .carousel-inner>.item { + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + backface-visibility: hidden; + perspective: 1000px + } + + .carousel-inner>.item.next, + .carousel-inner>.item.active.right { + transform: translate3d(100%, 0, 0); + left: 0 + } + + .carousel-inner>.item.prev, + .carousel-inner>.item.active.left { + transform: translate3d(-100%, 0, 0); + left: 0 + } + + .carousel-inner>.item.next.left, + .carousel-inner>.item.prev.right, + .carousel-inner>.item.active { + transform: translate3d(0, 0, 0); + left: 0 + } +} + +.carousel-inner>.active, +.carousel-inner>.next, +.carousel-inner>.prev { + display: block +} + +.carousel-inner>.active { + left: 0 +} + +.carousel-inner>.next, +.carousel-inner>.prev { + position: absolute; + top: 0; + width: 100% +} + +.carousel-inner>.next { + left: 100% +} + +.carousel-inner>.prev { + left: -100% +} + +.carousel-inner>.next.left, +.carousel-inner>.prev.right { + left: 0 +} + +.carousel-inner>.active.left { + left: -100% +} + +.carousel-inner>.active.right { + left: 100% +} + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) +} + +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1) +} + +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1) +} + +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90) +} + +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block +} + +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px +} + +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px +} + +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif +} + +.carousel-control .icon-prev:before { + content: '\2039' +} + +.carousel-control .icon-next:before { + content: '\203a' +} + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center +} + +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: transparent +} + +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff +} + +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) +} + +.carousel-caption .btn { + text-shadow: none +} + +@media screen and (min-width: 768px) { + + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px + } + + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px + } + + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px + } + + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px + } + + .carousel-indicators { + bottom: 20px + } +} + +.clearfix:before, +.clearfix:after { + content: " "; + display: table +} + +.clearfix:after { + clear: both +} + +.center-block { + display: block; + margin-left: auto; + margin-right: auto +} + +.pull-right { + float: right !important +} + +.pull-left { + float: left !important +} + +.hide { + display: none !important +} + +.show { + display: block !important +} + +.invisible { + visibility: hidden +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0 +} + +.hidden { + display: none !important +} + +.affix { + position: fixed +} + +@-ms-viewport { + width: device-width +} + +.visible-xs { + display: none !important +} + +.visible-sm { + display: none !important +} + +.visible-md { + display: none !important +} + +.visible-lg { + display: none !important +} + +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important +} + +@media (max-width: 767px) { + .visible-xs { + display: block !important + } + + table.visible-xs { + display: table !important + } + + tr.visible-xs { + display: table-row !important + } + + th.visible-xs, + td.visible-xs { + display: table-cell !important + } +} + +@media (max-width: 767px) { + .visible-xs-block { + display: block !important + } +} + +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important + } +} + +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important + } + + table.visible-sm { + display: table !important + } + + tr.visible-sm { + display: table-row !important + } + + th.visible-sm, + td.visible-sm { + display: table-cell !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important + } +} + +@media (min-width: 992px) and (max-width: 1599px) { + .visible-md { + display: block !important + } + + table.visible-md { + display: table !important + } + + tr.visible-md { + display: table-row !important + } + + th.visible-md, + td.visible-md { + display: table-cell !important + } +} + +@media (min-width: 992px) and (max-width: 1599px) { + .visible-md-block { + display: block !important + } +} + +@media (min-width: 992px) and (max-width: 1599px) { + .visible-md-inline { + display: inline !important + } +} + +@media (min-width: 992px) and (max-width: 1599px) { + .visible-md-inline-block { + display: inline-block !important + } +} + +@media (min-width: 1600px) { + .visible-lg { + display: block !important + } + + table.visible-lg { + display: table !important + } + + tr.visible-lg { + display: table-row !important + } + + th.visible-lg, + td.visible-lg { + display: table-cell !important + } +} + +@media (min-width: 1600px) { + .visible-lg-block { + display: block !important + } +} + +@media (min-width: 1600px) { + .visible-lg-inline { + display: inline !important + } +} + +@media (min-width: 1600px) { + .visible-lg-inline-block { + display: inline-block !important + } +} + +@media (max-width: 767px) { + .hidden-xs { + display: none !important + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important + } +} + +@media (min-width: 992px) and (max-width: 1599px) { + .hidden-md { + display: none !important + } +} + +@media (min-width: 1600px) { + .hidden-lg { + display: none !important + } +} + +.visible-print { + display: none !important +} + +@media print { + .visible-print { + display: block !important + } + + table.visible-print { + display: table !important + } + + tr.visible-print { + display: table-row !important + } + + th.visible-print, + td.visible-print { + display: table-cell !important + } +} + +.visible-print-block { + display: none !important +} + +@media print { + .visible-print-block { + display: block !important + } +} + +.visible-print-inline { + display: none !important +} + +@media print { + .visible-print-inline { + display: inline !important + } +} + +.visible-print-inline-block { + display: none !important +} + +@media print { + .visible-print-inline-block { + display: inline-block !important + } +} + +@media print { + .hidden-print { + display: none !important + } +} + +.badge { + height: 16px; + margin-left: 3px; + margin-right: 3px; + font-size: 12px; + min-width: 5px; + padding: 3px 5px +} + +.head-help-block { + display: block; + margin-top: 20px; + margin-bottom: 5px; + color: #5b5b60 +} + +.nav-tabs-justified>li>a, +.nav-tabs.nav-justified>li>a, +.nav-tabs.nav-justified>li>a { + border-radius: 4px; + border: none; + margin: 10px +} + +.nav-tabs-justified>.active>a, +.nav-tabs.nav-justified>.active>a, +.nav-tabs.nav-justified>.active>a, +.nav-tabs-justified>.active>a:hover, +.nav-tabs.nav-justified>.active>a:hover, +.nav-tabs.nav-justified>.active>a:hover, +.nav-tabs-justified>.active>a:focus, +.nav-tabs.nav-justified>.active>a:focus, +.nav-tabs.nav-justified>.active>a:focus { + background: #00babc; + color: #fff +} + +pre.wrapped { + white-space: pre-line; + word-break: break-word +} + +.btn-group .btn.light-bg { + border-color: #cccccc +} + +.margin-0 { + margin: 0px +} + +.padding-0 { + padding: 0px +} + +.margin-top-0 { + margin-top: 0px !important +} + +.padding-top-0 { + padding-top: 0px !important +} + +.margin-right-0 { + margin-right: 0px !important +} + +.padding-right-0 { + padding-right: 0px !important +} + +.margin-bottom-0 { + margin-bottom: 0px !important +} + +.padding-bottom-0 { + padding-bottom: 0px !important +} + +.margin-left-0 { + margin-left: 0px !important +} + +.padding-left-0 { + padding-left: 0px !important +} + +.margin-1 { + margin: 1px +} + +.padding-1 { + padding: 1px +} + +.margin-top-1 { + margin-top: 1px !important +} + +.padding-top-1 { + padding-top: 1px !important +} + +.margin-right-1 { + margin-right: 1px !important +} + +.padding-right-1 { + padding-right: 1px !important +} + +.margin-bottom-1 { + margin-bottom: 1px !important +} + +.padding-bottom-1 { + padding-bottom: 1px !important +} + +.margin-left-1 { + margin-left: 1px !important +} + +.padding-left-1 { + padding-left: 1px !important +} + +.margin-2 { + margin: 2px +} + +.padding-2 { + padding: 2px +} + +.margin-top-2 { + margin-top: 2px !important +} + +.padding-top-2 { + padding-top: 2px !important +} + +.margin-right-2 { + margin-right: 2px !important +} + +.padding-right-2 { + padding-right: 2px !important +} + +.margin-bottom-2 { + margin-bottom: 2px !important +} + +.padding-bottom-2 { + padding-bottom: 2px !important +} + +.margin-left-2 { + margin-left: 2px !important +} + +.padding-left-2 { + padding-left: 2px !important +} + +.margin-3 { + margin: 3px +} + +.padding-3 { + padding: 3px +} + +.margin-top-3 { + margin-top: 3px !important +} + +.padding-top-3 { + padding-top: 3px !important +} + +.margin-right-3 { + margin-right: 3px !important +} + +.padding-right-3 { + padding-right: 3px !important +} + +.margin-bottom-3 { + margin-bottom: 3px !important +} + +.padding-bottom-3 { + padding-bottom: 3px !important +} + +.margin-left-3 { + margin-left: 3px !important +} + +.padding-left-3 { + padding-left: 3px !important +} + +.margin-4 { + margin: 4px +} + +.padding-4 { + padding: 4px +} + +.margin-top-4 { + margin-top: 4px !important +} + +.padding-top-4 { + padding-top: 4px !important +} + +.margin-right-4 { + margin-right: 4px !important +} + +.padding-right-4 { + padding-right: 4px !important +} + +.margin-bottom-4 { + margin-bottom: 4px !important +} + +.padding-bottom-4 { + padding-bottom: 4px !important +} + +.margin-left-4 { + margin-left: 4px !important +} + +.padding-left-4 { + padding-left: 4px !important +} + +.margin-5 { + margin: 5px +} + +.padding-5 { + padding: 5px +} + +.margin-top-5 { + margin-top: 5px !important +} + +.padding-top-5 { + padding-top: 5px !important +} + +.margin-right-5 { + margin-right: 5px !important +} + +.padding-right-5 { + padding-right: 5px !important +} + +.margin-bottom-5 { + margin-bottom: 5px !important +} + +.padding-bottom-5 { + padding-bottom: 5px !important +} + +.margin-left-5 { + margin-left: 5px !important +} + +.padding-left-5 { + padding-left: 5px !important +} + +.margin-6 { + margin: 6px +} + +.padding-6 { + padding: 6px +} + +.margin-top-6 { + margin-top: 6px !important +} + +.padding-top-6 { + padding-top: 6px !important +} + +.margin-right-6 { + margin-right: 6px !important +} + +.padding-right-6 { + padding-right: 6px !important +} + +.margin-bottom-6 { + margin-bottom: 6px !important +} + +.padding-bottom-6 { + padding-bottom: 6px !important +} + +.margin-left-6 { + margin-left: 6px !important +} + +.padding-left-6 { + padding-left: 6px !important +} + +.margin-7 { + margin: 7px +} + +.padding-7 { + padding: 7px +} + +.margin-top-7 { + margin-top: 7px !important +} + +.padding-top-7 { + padding-top: 7px !important +} + +.margin-right-7 { + margin-right: 7px !important +} + +.padding-right-7 { + padding-right: 7px !important +} + +.margin-bottom-7 { + margin-bottom: 7px !important +} + +.padding-bottom-7 { + padding-bottom: 7px !important +} + +.margin-left-7 { + margin-left: 7px !important +} + +.padding-left-7 { + padding-left: 7px !important +} + +.margin-8 { + margin: 8px +} + +.padding-8 { + padding: 8px +} + +.margin-top-8 { + margin-top: 8px !important +} + +.padding-top-8 { + padding-top: 8px !important +} + +.margin-right-8 { + margin-right: 8px !important +} + +.padding-right-8 { + padding-right: 8px !important +} + +.margin-bottom-8 { + margin-bottom: 8px !important +} + +.padding-bottom-8 { + padding-bottom: 8px !important +} + +.margin-left-8 { + margin-left: 8px !important +} + +.padding-left-8 { + padding-left: 8px !important +} + +.margin-9 { + margin: 9px +} + +.padding-9 { + padding: 9px +} + +.margin-top-9 { + margin-top: 9px !important +} + +.padding-top-9 { + padding-top: 9px !important +} + +.margin-right-9 { + margin-right: 9px !important +} + +.padding-right-9 { + padding-right: 9px !important +} + +.margin-bottom-9 { + margin-bottom: 9px !important +} + +.padding-bottom-9 { + padding-bottom: 9px !important +} + +.margin-left-9 { + margin-left: 9px !important +} + +.padding-left-9 { + padding-left: 9px !important +} + +.margin-10 { + margin: 10px +} + +.padding-10 { + padding: 10px +} + +.margin-top-10 { + margin-top: 10px !important +} + +.padding-top-10 { + padding-top: 10px !important +} + +.margin-right-10 { + margin-right: 10px !important +} + +.padding-right-10 { + padding-right: 10px !important +} + +.margin-bottom-10 { + margin-bottom: 10px !important +} + +.padding-bottom-10 { + padding-bottom: 10px !important +} + +.margin-left-10 { + margin-left: 10px !important +} + +.padding-left-10 { + padding-left: 10px !important +} + +.margin-11 { + margin: 11px +} + +.padding-11 { + padding: 11px +} + +.margin-top-11 { + margin-top: 11px !important +} + +.padding-top-11 { + padding-top: 11px !important +} + +.margin-right-11 { + margin-right: 11px !important +} + +.padding-right-11 { + padding-right: 11px !important +} + +.margin-bottom-11 { + margin-bottom: 11px !important +} + +.padding-bottom-11 { + padding-bottom: 11px !important +} + +.margin-left-11 { + margin-left: 11px !important +} + +.padding-left-11 { + padding-left: 11px !important +} + +.margin-12 { + margin: 12px +} + +.padding-12 { + padding: 12px +} + +.margin-top-12 { + margin-top: 12px !important +} + +.padding-top-12 { + padding-top: 12px !important +} + +.margin-right-12 { + margin-right: 12px !important +} + +.padding-right-12 { + padding-right: 12px !important +} + +.margin-bottom-12 { + margin-bottom: 12px !important +} + +.padding-bottom-12 { + padding-bottom: 12px !important +} + +.margin-left-12 { + margin-left: 12px !important +} + +.padding-left-12 { + padding-left: 12px !important +} + +.margin-13 { + margin: 13px +} + +.padding-13 { + padding: 13px +} + +.margin-top-13 { + margin-top: 13px !important +} + +.padding-top-13 { + padding-top: 13px !important +} + +.margin-right-13 { + margin-right: 13px !important +} + +.padding-right-13 { + padding-right: 13px !important +} + +.margin-bottom-13 { + margin-bottom: 13px !important +} + +.padding-bottom-13 { + padding-bottom: 13px !important +} + +.margin-left-13 { + margin-left: 13px !important +} + +.padding-left-13 { + padding-left: 13px !important +} + +.margin-14 { + margin: 14px +} + +.padding-14 { + padding: 14px +} + +.margin-top-14 { + margin-top: 14px !important +} + +.padding-top-14 { + padding-top: 14px !important +} + +.margin-right-14 { + margin-right: 14px !important +} + +.padding-right-14 { + padding-right: 14px !important +} + +.margin-bottom-14 { + margin-bottom: 14px !important +} + +.padding-bottom-14 { + padding-bottom: 14px !important +} + +.margin-left-14 { + margin-left: 14px !important +} + +.padding-left-14 { + padding-left: 14px !important +} + +.margin-15 { + margin: 15px +} + +.padding-15 { + padding: 15px +} + +.margin-top-15 { + margin-top: 15px !important +} + +.padding-top-15 { + padding-top: 15px !important +} + +.margin-right-15 { + margin-right: 15px !important +} + +.padding-right-15 { + padding-right: 15px !important +} + +.margin-bottom-15 { + margin-bottom: 15px !important +} + +.padding-bottom-15 { + padding-bottom: 15px !important +} + +.margin-left-15 { + margin-left: 15px !important +} + +.padding-left-15 { + padding-left: 15px !important +} + +.margin-16 { + margin: 16px +} + +.padding-16 { + padding: 16px +} + +.margin-top-16 { + margin-top: 16px !important +} + +.padding-top-16 { + padding-top: 16px !important +} + +.margin-right-16 { + margin-right: 16px !important +} + +.padding-right-16 { + padding-right: 16px !important +} + +.margin-bottom-16 { + margin-bottom: 16px !important +} + +.padding-bottom-16 { + padding-bottom: 16px !important +} + +.margin-left-16 { + margin-left: 16px !important +} + +.padding-left-16 { + padding-left: 16px !important +} + +.margin-17 { + margin: 17px +} + +.padding-17 { + padding: 17px +} + +.margin-top-17 { + margin-top: 17px !important +} + +.padding-top-17 { + padding-top: 17px !important +} + +.margin-right-17 { + margin-right: 17px !important +} + +.padding-right-17 { + padding-right: 17px !important +} + +.margin-bottom-17 { + margin-bottom: 17px !important +} + +.padding-bottom-17 { + padding-bottom: 17px !important +} + +.margin-left-17 { + margin-left: 17px !important +} + +.padding-left-17 { + padding-left: 17px !important +} + +.margin-18 { + margin: 18px +} + +.padding-18 { + padding: 18px +} + +.margin-top-18 { + margin-top: 18px !important +} + +.padding-top-18 { + padding-top: 18px !important +} + +.margin-right-18 { + margin-right: 18px !important +} + +.padding-right-18 { + padding-right: 18px !important +} + +.margin-bottom-18 { + margin-bottom: 18px !important +} + +.padding-bottom-18 { + padding-bottom: 18px !important +} + +.margin-left-18 { + margin-left: 18px !important +} + +.padding-left-18 { + padding-left: 18px !important +} + +.margin-19 { + margin: 19px +} + +.padding-19 { + padding: 19px +} + +.margin-top-19 { + margin-top: 19px !important +} + +.padding-top-19 { + padding-top: 19px !important +} + +.margin-right-19 { + margin-right: 19px !important +} + +.padding-right-19 { + padding-right: 19px !important +} + +.margin-bottom-19 { + margin-bottom: 19px !important +} + +.padding-bottom-19 { + padding-bottom: 19px !important +} + +.margin-left-19 { + margin-left: 19px !important +} + +.padding-left-19 { + padding-left: 19px !important +} + +.margin-20 { + margin: 20px +} + +.padding-20 { + padding: 20px +} + +.margin-top-20 { + margin-top: 20px !important +} + +.padding-top-20 { + padding-top: 20px !important +} + +.margin-right-20 { + margin-right: 20px !important +} + +.padding-right-20 { + padding-right: 20px !important +} + +.margin-bottom-20 { + margin-bottom: 20px !important +} + +.padding-bottom-20 { + padding-bottom: 20px !important +} + +.margin-left-20 { + margin-left: 20px !important +} + +.padding-left-20 { + padding-left: 20px !important +} + +.margin-21 { + margin: 21px +} + +.padding-21 { + padding: 21px +} + +.margin-top-21 { + margin-top: 21px !important +} + +.padding-top-21 { + padding-top: 21px !important +} + +.margin-right-21 { + margin-right: 21px !important +} + +.padding-right-21 { + padding-right: 21px !important +} + +.margin-bottom-21 { + margin-bottom: 21px !important +} + +.padding-bottom-21 { + padding-bottom: 21px !important +} + +.margin-left-21 { + margin-left: 21px !important +} + +.padding-left-21 { + padding-left: 21px !important +} + +.margin-22 { + margin: 22px +} + +.padding-22 { + padding: 22px +} + +.margin-top-22 { + margin-top: 22px !important +} + +.padding-top-22 { + padding-top: 22px !important +} + +.margin-right-22 { + margin-right: 22px !important +} + +.padding-right-22 { + padding-right: 22px !important +} + +.margin-bottom-22 { + margin-bottom: 22px !important +} + +.padding-bottom-22 { + padding-bottom: 22px !important +} + +.margin-left-22 { + margin-left: 22px !important +} + +.padding-left-22 { + padding-left: 22px !important +} + +.margin-23 { + margin: 23px +} + +.padding-23 { + padding: 23px +} + +.margin-top-23 { + margin-top: 23px !important +} + +.padding-top-23 { + padding-top: 23px !important +} + +.margin-right-23 { + margin-right: 23px !important +} + +.padding-right-23 { + padding-right: 23px !important +} + +.margin-bottom-23 { + margin-bottom: 23px !important +} + +.padding-bottom-23 { + padding-bottom: 23px !important +} + +.margin-left-23 { + margin-left: 23px !important +} + +.padding-left-23 { + padding-left: 23px !important +} + +.margin-24 { + margin: 24px +} + +.padding-24 { + padding: 24px +} + +.margin-top-24 { + margin-top: 24px !important +} + +.padding-top-24 { + padding-top: 24px !important +} + +.margin-right-24 { + margin-right: 24px !important +} + +.padding-right-24 { + padding-right: 24px !important +} + +.margin-bottom-24 { + margin-bottom: 24px !important +} + +.padding-bottom-24 { + padding-bottom: 24px !important +} + +.margin-left-24 { + margin-left: 24px !important +} + +.padding-left-24 { + padding-left: 24px !important +} + +.margin-25 { + margin: 25px +} + +.padding-25 { + padding: 25px +} + +.margin-top-25 { + margin-top: 25px !important +} + +.padding-top-25 { + padding-top: 25px !important +} + +.margin-right-25 { + margin-right: 25px !important +} + +.padding-right-25 { + padding-right: 25px !important +} + +.margin-bottom-25 { + margin-bottom: 25px !important +} + +.padding-bottom-25 { + padding-bottom: 25px !important +} + +.margin-left-25 { + margin-left: 25px !important +} + +.padding-left-25 { + padding-left: 25px !important +} + +.margin-26 { + margin: 26px +} + +.padding-26 { + padding: 26px +} + +.margin-top-26 { + margin-top: 26px !important +} + +.padding-top-26 { + padding-top: 26px !important +} + +.margin-right-26 { + margin-right: 26px !important +} + +.padding-right-26 { + padding-right: 26px !important +} + +.margin-bottom-26 { + margin-bottom: 26px !important +} + +.padding-bottom-26 { + padding-bottom: 26px !important +} + +.margin-left-26 { + margin-left: 26px !important +} + +.padding-left-26 { + padding-left: 26px !important +} + +.margin-27 { + margin: 27px +} + +.padding-27 { + padding: 27px +} + +.margin-top-27 { + margin-top: 27px !important +} + +.padding-top-27 { + padding-top: 27px !important +} + +.margin-right-27 { + margin-right: 27px !important +} + +.padding-right-27 { + padding-right: 27px !important +} + +.margin-bottom-27 { + margin-bottom: 27px !important +} + +.padding-bottom-27 { + padding-bottom: 27px !important +} + +.margin-left-27 { + margin-left: 27px !important +} + +.padding-left-27 { + padding-left: 27px !important +} + +.margin-28 { + margin: 28px +} + +.padding-28 { + padding: 28px +} + +.margin-top-28 { + margin-top: 28px !important +} + +.padding-top-28 { + padding-top: 28px !important +} + +.margin-right-28 { + margin-right: 28px !important +} + +.padding-right-28 { + padding-right: 28px !important +} + +.margin-bottom-28 { + margin-bottom: 28px !important +} + +.padding-bottom-28 { + padding-bottom: 28px !important +} + +.margin-left-28 { + margin-left: 28px !important +} + +.padding-left-28 { + padding-left: 28px !important +} + +.margin-29 { + margin: 29px +} + +.padding-29 { + padding: 29px +} + +.margin-top-29 { + margin-top: 29px !important +} + +.padding-top-29 { + padding-top: 29px !important +} + +.margin-right-29 { + margin-right: 29px !important +} + +.padding-right-29 { + padding-right: 29px !important +} + +.margin-bottom-29 { + margin-bottom: 29px !important +} + +.padding-bottom-29 { + padding-bottom: 29px !important +} + +.margin-left-29 { + margin-left: 29px !important +} + +.padding-left-29 { + padding-left: 29px !important +} + +.margin-30 { + margin: 30px +} + +.padding-30 { + padding: 30px +} + +.margin-top-30 { + margin-top: 30px !important +} + +.padding-top-30 { + padding-top: 30px !important +} + +.margin-right-30 { + margin-right: 30px !important +} + +.padding-right-30 { + padding-right: 30px !important +} + +.margin-bottom-30 { + margin-bottom: 30px !important +} + +.padding-bottom-30 { + padding-bottom: 30px !important +} + +.margin-left-30 { + margin-left: 30px !important +} + +.padding-left-30 { + padding-left: 30px !important +} + +.margin-31 { + margin: 31px +} + +.padding-31 { + padding: 31px +} + +.margin-top-31 { + margin-top: 31px !important +} + +.padding-top-31 { + padding-top: 31px !important +} + +.margin-right-31 { + margin-right: 31px !important +} + +.padding-right-31 { + padding-right: 31px !important +} + +.margin-bottom-31 { + margin-bottom: 31px !important +} + +.padding-bottom-31 { + padding-bottom: 31px !important +} + +.margin-left-31 { + margin-left: 31px !important +} + +.padding-left-31 { + padding-left: 31px !important +} + +.margin-32 { + margin: 32px +} + +.padding-32 { + padding: 32px +} + +.margin-top-32 { + margin-top: 32px !important +} + +.padding-top-32 { + padding-top: 32px !important +} + +.margin-right-32 { + margin-right: 32px !important +} + +.padding-right-32 { + padding-right: 32px !important +} + +.margin-bottom-32 { + margin-bottom: 32px !important +} + +.padding-bottom-32 { + padding-bottom: 32px !important +} + +.margin-left-32 { + margin-left: 32px !important +} + +.padding-left-32 { + padding-left: 32px !important +} + +.margin-33 { + margin: 33px +} + +.padding-33 { + padding: 33px +} + +.margin-top-33 { + margin-top: 33px !important +} + +.padding-top-33 { + padding-top: 33px !important +} + +.margin-right-33 { + margin-right: 33px !important +} + +.padding-right-33 { + padding-right: 33px !important +} + +.margin-bottom-33 { + margin-bottom: 33px !important +} + +.padding-bottom-33 { + padding-bottom: 33px !important +} + +.margin-left-33 { + margin-left: 33px !important +} + +.padding-left-33 { + padding-left: 33px !important +} + +.margin-34 { + margin: 34px +} + +.padding-34 { + padding: 34px +} + +.margin-top-34 { + margin-top: 34px !important +} + +.padding-top-34 { + padding-top: 34px !important +} + +.margin-right-34 { + margin-right: 34px !important +} + +.padding-right-34 { + padding-right: 34px !important +} + +.margin-bottom-34 { + margin-bottom: 34px !important +} + +.padding-bottom-34 { + padding-bottom: 34px !important +} + +.margin-left-34 { + margin-left: 34px !important +} + +.padding-left-34 { + padding-left: 34px !important +} + +.margin-35 { + margin: 35px +} + +.padding-35 { + padding: 35px +} + +.margin-top-35 { + margin-top: 35px !important +} + +.padding-top-35 { + padding-top: 35px !important +} + +.margin-right-35 { + margin-right: 35px !important +} + +.padding-right-35 { + padding-right: 35px !important +} + +.margin-bottom-35 { + margin-bottom: 35px !important +} + +.padding-bottom-35 { + padding-bottom: 35px !important +} + +.margin-left-35 { + margin-left: 35px !important +} + +.padding-left-35 { + padding-left: 35px !important +} + +.margin-36 { + margin: 36px +} + +.padding-36 { + padding: 36px +} + +.margin-top-36 { + margin-top: 36px !important +} + +.padding-top-36 { + padding-top: 36px !important +} + +.margin-right-36 { + margin-right: 36px !important +} + +.padding-right-36 { + padding-right: 36px !important +} + +.margin-bottom-36 { + margin-bottom: 36px !important +} + +.padding-bottom-36 { + padding-bottom: 36px !important +} + +.margin-left-36 { + margin-left: 36px !important +} + +.padding-left-36 { + padding-left: 36px !important +} + +.margin-37 { + margin: 37px +} + +.padding-37 { + padding: 37px +} + +.margin-top-37 { + margin-top: 37px !important +} + +.padding-top-37 { + padding-top: 37px !important +} + +.margin-right-37 { + margin-right: 37px !important +} + +.padding-right-37 { + padding-right: 37px !important +} + +.margin-bottom-37 { + margin-bottom: 37px !important +} + +.padding-bottom-37 { + padding-bottom: 37px !important +} + +.margin-left-37 { + margin-left: 37px !important +} + +.padding-left-37 { + padding-left: 37px !important +} + +.margin-38 { + margin: 38px +} + +.padding-38 { + padding: 38px +} + +.margin-top-38 { + margin-top: 38px !important +} + +.padding-top-38 { + padding-top: 38px !important +} + +.margin-right-38 { + margin-right: 38px !important +} + +.padding-right-38 { + padding-right: 38px !important +} + +.margin-bottom-38 { + margin-bottom: 38px !important +} + +.padding-bottom-38 { + padding-bottom: 38px !important +} + +.margin-left-38 { + margin-left: 38px !important +} + +.padding-left-38 { + padding-left: 38px !important +} + +.margin-39 { + margin: 39px +} + +.padding-39 { + padding: 39px +} + +.margin-top-39 { + margin-top: 39px !important +} + +.padding-top-39 { + padding-top: 39px !important +} + +.margin-right-39 { + margin-right: 39px !important +} + +.padding-right-39 { + padding-right: 39px !important +} + +.margin-bottom-39 { + margin-bottom: 39px !important +} + +.padding-bottom-39 { + padding-bottom: 39px !important +} + +.margin-left-39 { + margin-left: 39px !important +} + +.padding-left-39 { + padding-left: 39px !important +} + +.margin-40 { + margin: 40px +} + +.padding-40 { + padding: 40px +} + +.margin-top-40 { + margin-top: 40px !important +} + +.padding-top-40 { + padding-top: 40px !important +} + +.margin-right-40 { + margin-right: 40px !important +} + +.padding-right-40 { + padding-right: 40px !important +} + +.margin-bottom-40 { + margin-bottom: 40px !important +} + +.padding-bottom-40 { + padding-bottom: 40px !important +} + +.margin-left-40 { + margin-left: 40px !important +} + +.padding-left-40 { + padding-left: 40px !important +} + +.margin-41 { + margin: 41px +} + +.padding-41 { + padding: 41px +} + +.margin-top-41 { + margin-top: 41px !important +} + +.padding-top-41 { + padding-top: 41px !important +} + +.margin-right-41 { + margin-right: 41px !important +} + +.padding-right-41 { + padding-right: 41px !important +} + +.margin-bottom-41 { + margin-bottom: 41px !important +} + +.padding-bottom-41 { + padding-bottom: 41px !important +} + +.margin-left-41 { + margin-left: 41px !important +} + +.padding-left-41 { + padding-left: 41px !important +} + +.margin-42 { + margin: 42px +} + +.padding-42 { + padding: 42px +} + +.margin-top-42 { + margin-top: 42px !important +} + +.padding-top-42 { + padding-top: 42px !important +} + +.margin-right-42 { + margin-right: 42px !important +} + +.padding-right-42 { + padding-right: 42px !important +} + +.margin-bottom-42 { + margin-bottom: 42px !important +} + +.padding-bottom-42 { + padding-bottom: 42px !important +} + +.margin-left-42 { + margin-left: 42px !important +} + +.padding-left-42 { + padding-left: 42px !important +} + +.margin-43 { + margin: 43px +} + +.padding-43 { + padding: 43px +} + +.margin-top-43 { + margin-top: 43px !important +} + +.padding-top-43 { + padding-top: 43px !important +} + +.margin-right-43 { + margin-right: 43px !important +} + +.padding-right-43 { + padding-right: 43px !important +} + +.margin-bottom-43 { + margin-bottom: 43px !important +} + +.padding-bottom-43 { + padding-bottom: 43px !important +} + +.margin-left-43 { + margin-left: 43px !important +} + +.padding-left-43 { + padding-left: 43px !important +} + +.margin-44 { + margin: 44px +} + +.padding-44 { + padding: 44px +} + +.margin-top-44 { + margin-top: 44px !important +} + +.padding-top-44 { + padding-top: 44px !important +} + +.margin-right-44 { + margin-right: 44px !important +} + +.padding-right-44 { + padding-right: 44px !important +} + +.margin-bottom-44 { + margin-bottom: 44px !important +} + +.padding-bottom-44 { + padding-bottom: 44px !important +} + +.margin-left-44 { + margin-left: 44px !important +} + +.padding-left-44 { + padding-left: 44px !important +} + +.margin-45 { + margin: 45px +} + +.padding-45 { + padding: 45px +} + +.margin-top-45 { + margin-top: 45px !important +} + +.padding-top-45 { + padding-top: 45px !important +} + +.margin-right-45 { + margin-right: 45px !important +} + +.padding-right-45 { + padding-right: 45px !important +} + +.margin-bottom-45 { + margin-bottom: 45px !important +} + +.padding-bottom-45 { + padding-bottom: 45px !important +} + +.margin-left-45 { + margin-left: 45px !important +} + +.padding-left-45 { + padding-left: 45px !important +} + +.margin-46 { + margin: 46px +} + +.padding-46 { + padding: 46px +} + +.margin-top-46 { + margin-top: 46px !important +} + +.padding-top-46 { + padding-top: 46px !important +} + +.margin-right-46 { + margin-right: 46px !important +} + +.padding-right-46 { + padding-right: 46px !important +} + +.margin-bottom-46 { + margin-bottom: 46px !important +} + +.padding-bottom-46 { + padding-bottom: 46px !important +} + +.margin-left-46 { + margin-left: 46px !important +} + +.padding-left-46 { + padding-left: 46px !important +} + +.margin-47 { + margin: 47px +} + +.padding-47 { + padding: 47px +} + +.margin-top-47 { + margin-top: 47px !important +} + +.padding-top-47 { + padding-top: 47px !important +} + +.margin-right-47 { + margin-right: 47px !important +} + +.padding-right-47 { + padding-right: 47px !important +} + +.margin-bottom-47 { + margin-bottom: 47px !important +} + +.padding-bottom-47 { + padding-bottom: 47px !important +} + +.margin-left-47 { + margin-left: 47px !important +} + +.padding-left-47 { + padding-left: 47px !important +} + +.margin-48 { + margin: 48px +} + +.padding-48 { + padding: 48px +} + +.margin-top-48 { + margin-top: 48px !important +} + +.padding-top-48 { + padding-top: 48px !important +} + +.margin-right-48 { + margin-right: 48px !important +} + +.padding-right-48 { + padding-right: 48px !important +} + +.margin-bottom-48 { + margin-bottom: 48px !important +} + +.padding-bottom-48 { + padding-bottom: 48px !important +} + +.margin-left-48 { + margin-left: 48px !important +} + +.padding-left-48 { + padding-left: 48px !important +} + +.margin-49 { + margin: 49px +} + +.padding-49 { + padding: 49px +} + +.margin-top-49 { + margin-top: 49px !important +} + +.padding-top-49 { + padding-top: 49px !important +} + +.margin-right-49 { + margin-right: 49px !important +} + +.padding-right-49 { + padding-right: 49px !important +} + +.margin-bottom-49 { + margin-bottom: 49px !important +} + +.padding-bottom-49 { + padding-bottom: 49px !important +} + +.margin-left-49 { + margin-left: 49px !important +} + +.padding-left-49 { + padding-left: 49px !important +} + +.margin-50 { + margin: 50px +} + +.padding-50 { + padding: 50px +} + +.margin-top-50 { + margin-top: 50px !important +} + +.padding-top-50 { + padding-top: 50px !important +} + +.margin-right-50 { + margin-right: 50px !important +} + +.padding-right-50 { + padding-right: 50px !important +} + +.margin-bottom-50 { + margin-bottom: 50px !important +} + +.padding-bottom-50 { + padding-bottom: 50px !important +} + +.margin-left-50 { + margin-left: 50px !important +} + +.padding-left-50 { + padding-left: 50px !important +} + +.margin-51 { + margin: 51px +} + +.padding-51 { + padding: 51px +} + +.margin-top-51 { + margin-top: 51px !important +} + +.padding-top-51 { + padding-top: 51px !important +} + +.margin-right-51 { + margin-right: 51px !important +} + +.padding-right-51 { + padding-right: 51px !important +} + +.margin-bottom-51 { + margin-bottom: 51px !important +} + +.padding-bottom-51 { + padding-bottom: 51px !important +} + +.margin-left-51 { + margin-left: 51px !important +} + +.padding-left-51 { + padding-left: 51px !important +} + +.margin-52 { + margin: 52px +} + +.padding-52 { + padding: 52px +} + +.margin-top-52 { + margin-top: 52px !important +} + +.padding-top-52 { + padding-top: 52px !important +} + +.margin-right-52 { + margin-right: 52px !important +} + +.padding-right-52 { + padding-right: 52px !important +} + +.margin-bottom-52 { + margin-bottom: 52px !important +} + +.padding-bottom-52 { + padding-bottom: 52px !important +} + +.margin-left-52 { + margin-left: 52px !important +} + +.padding-left-52 { + padding-left: 52px !important +} + +.margin-53 { + margin: 53px +} + +.padding-53 { + padding: 53px +} + +.margin-top-53 { + margin-top: 53px !important +} + +.padding-top-53 { + padding-top: 53px !important +} + +.margin-right-53 { + margin-right: 53px !important +} + +.padding-right-53 { + padding-right: 53px !important +} + +.margin-bottom-53 { + margin-bottom: 53px !important +} + +.padding-bottom-53 { + padding-bottom: 53px !important +} + +.margin-left-53 { + margin-left: 53px !important +} + +.padding-left-53 { + padding-left: 53px !important +} + +.margin-54 { + margin: 54px +} + +.padding-54 { + padding: 54px +} + +.margin-top-54 { + margin-top: 54px !important +} + +.padding-top-54 { + padding-top: 54px !important +} + +.margin-right-54 { + margin-right: 54px !important +} + +.padding-right-54 { + padding-right: 54px !important +} + +.margin-bottom-54 { + margin-bottom: 54px !important +} + +.padding-bottom-54 { + padding-bottom: 54px !important +} + +.margin-left-54 { + margin-left: 54px !important +} + +.padding-left-54 { + padding-left: 54px !important +} + +.margin-55 { + margin: 55px +} + +.padding-55 { + padding: 55px +} + +.margin-top-55 { + margin-top: 55px !important +} + +.padding-top-55 { + padding-top: 55px !important +} + +.margin-right-55 { + margin-right: 55px !important +} + +.padding-right-55 { + padding-right: 55px !important +} + +.margin-bottom-55 { + margin-bottom: 55px !important +} + +.padding-bottom-55 { + padding-bottom: 55px !important +} + +.margin-left-55 { + margin-left: 55px !important +} + +.padding-left-55 { + padding-left: 55px !important +} + +.margin-56 { + margin: 56px +} + +.padding-56 { + padding: 56px +} + +.margin-top-56 { + margin-top: 56px !important +} + +.padding-top-56 { + padding-top: 56px !important +} + +.margin-right-56 { + margin-right: 56px !important +} + +.padding-right-56 { + padding-right: 56px !important +} + +.margin-bottom-56 { + margin-bottom: 56px !important +} + +.padding-bottom-56 { + padding-bottom: 56px !important +} + +.margin-left-56 { + margin-left: 56px !important +} + +.padding-left-56 { + padding-left: 56px !important +} + +.margin-57 { + margin: 57px +} + +.padding-57 { + padding: 57px +} + +.margin-top-57 { + margin-top: 57px !important +} + +.padding-top-57 { + padding-top: 57px !important +} + +.margin-right-57 { + margin-right: 57px !important +} + +.padding-right-57 { + padding-right: 57px !important +} + +.margin-bottom-57 { + margin-bottom: 57px !important +} + +.padding-bottom-57 { + padding-bottom: 57px !important +} + +.margin-left-57 { + margin-left: 57px !important +} + +.padding-left-57 { + padding-left: 57px !important +} + +.margin-58 { + margin: 58px +} + +.padding-58 { + padding: 58px +} + +.margin-top-58 { + margin-top: 58px !important +} + +.padding-top-58 { + padding-top: 58px !important +} + +.margin-right-58 { + margin-right: 58px !important +} + +.padding-right-58 { + padding-right: 58px !important +} + +.margin-bottom-58 { + margin-bottom: 58px !important +} + +.padding-bottom-58 { + padding-bottom: 58px !important +} + +.margin-left-58 { + margin-left: 58px !important +} + +.padding-left-58 { + padding-left: 58px !important +} + +.margin-59 { + margin: 59px +} + +.padding-59 { + padding: 59px +} + +.margin-top-59 { + margin-top: 59px !important +} + +.padding-top-59 { + padding-top: 59px !important +} + +.margin-right-59 { + margin-right: 59px !important +} + +.padding-right-59 { + padding-right: 59px !important +} + +.margin-bottom-59 { + margin-bottom: 59px !important +} + +.padding-bottom-59 { + padding-bottom: 59px !important +} + +.margin-left-59 { + margin-left: 59px !important +} + +.padding-left-59 { + padding-left: 59px !important +} + +.margin-60 { + margin: 60px +} + +.padding-60 { + padding: 60px +} + +.margin-top-60 { + margin-top: 60px !important +} + +.padding-top-60 { + padding-top: 60px !important +} + +.margin-right-60 { + margin-right: 60px !important +} + +.padding-right-60 { + padding-right: 60px !important +} + +.margin-bottom-60 { + margin-bottom: 60px !important +} + +.padding-bottom-60 { + padding-bottom: 60px !important +} + +.margin-left-60 { + margin-left: 60px !important +} + +.padding-left-60 { + padding-left: 60px !important +} + +.v-resize { + resize: vertical +} + +.h-resize { + resize: horizontal +} + +.no-resize { + resize: none +} + +.flex { + display: flex +} + +.flex-space-around { + justify-content: space-around +} + +.flex-space-between { + justify-content: space-between +} + +.flex-direction-column { + flex-direction: column +} + +.flex-direction-row { + flex-direction: row +} + +.flex-justify-content-center { + justify-content: center +} + +.flex-align-items-center { + align-items: center +} + +.flex-justify-content-space-evenly { + justify-content: space-evenly +} + +.flex-wrap { + flex-wrap: wrap +} + +.flex-nowrap { + flex-wrap: nowrap +} + +.flexed-title { + display: flex; + align-items: center; + justify-content: space-between +} + +.futura { + font-family: "futura" +} + +.futurabold, +.futura-bold { + font-family: "futuraBold" +} + +.raleway { + font-family: "Raleway" +} + +.underlined { + border-bottom: 3px solid #000; + padding-bottom: 10px +} + +.uppercase { + text-transform: uppercase +} + +.hidden { + display: none +} + +.labelable { + position: relative +} + +.labelable .labeled { + position: relative +} + +.space-to-top { + margin-top: 10px; + margin-bottom: 20px +} + +.space-to-bottom { + margin-bottom: 10px; + margin-bottom: 20px +} + +.space-to-left { + margin-left: 10px; + margin-bottom: 20px +} + +.space-to-right { + margin-right: 10px; + margin-bottom: 20px +} + +.space-everywhere { + margin: 10px +} + +.inline { + display: inline-block +} + +.block { + display: block +} + +.prima { + color: #00babc +} + +.bprima { + background-color: #00babc; + color: #fff +} + +.clearfix { + clear: both +} + +.clearfix:before, +.clearfix:after { + content: " "; + display: table +} + +.clearfix:after { + clear: both +} + +.centered { + text-align: center +} + +.space-right { + margin-right: 5px +} + +.space-left { + margin-left: 5px +} + +.bg-lighten { + background-color: rgba(255, 255, 255, 0.1) +} + +.bg-darken { + background-color: rgba(0, 0, 0, 0.1) +} + +.rounded { + border-radius: 50% +} + +.full-bg { + background-position: 50% 50%; + background-size: 100% auto; + background-repeat: no-repeat +} + +.h-1em { + height: 1em +} + +p:empty { + margin: 0 +} + +.upped-label { + padding: 5px; + display: inline-block; + position: relative; + bottom: 15px +} + +.square-xxl { + height: 400px; + width: 400px; + line-height: 400px +} + +.square-xl { + height: 200px; + width: 200px; + line-height: 200px +} + +.square-l { + height: 100px; + width: 100px; + line-height: 100px +} + +.square-m { + height: 60px; + width: 60px; + line-height: 60px +} + +.square-s { + height: 40px; + width: 40px; + line-height: 40px +} + +.square-xs { + height: 20px; + width: 20px; + line-height: 20px +} + +.square-xxs { + height: 15px; + width: 15px; + line-height: 15px +} + +.js-hidden { + opacity: 0; + -o-transition: opacity 0s ease 0.1s; + transition: opacity 0s ease 0.1s +} + +.js-hidden.js-active { + -o-transition: opacity 0.1s ease 0.1s; + transition: opacity 0.1s ease 0.1s; + opacity: 1 +} + +.js-active { + -o-transition: opacity 0.1s ease 0.1s; + transition: opacity 0.1s ease 0.1s; + opacity: 1 +} + +@media (min-width: 1900px) { + .hidden-xlg { + display: none + } +} + +@media (max-width: 1900px) { + .visible-xlg { + display: none !important + } +} + +.pull-right-if-not-mobile { + float: right +} + +@media (max-width: 480px) { + .pull-right-if-not-mobile { + float: none + } +} + +.icon-padded:before { + margin-right: 5px; + top: 1px; + position: relative +} + +.icon-clock+[data-short-date], +.icon-clock+[data-long-date] { + margin-left: 2px +} + +[data-input-wrapper] { + position: absolute; + top: 1px; + left: 0px; + text-align: center; + padding: 0px 5px +} + +[data-input-container] { + position: relative; + padding-left: 0 +} + +[data-input-container]>input[type="text"], +[data-input-container]>textarea { + padding: 0; + resize: none +} + +.visuallyhidden { + display: none +} + +.tt-menu, +.gist { + text-align: left +} + +.typeahead, +.tt-query, +.tt-hint { + width: 396px; + height: 30px; + padding: 8px 1px; + font-size: 1em; + line-height: 30px; + border-radius: 2px; + outline: none +} + +.typeahead:focus { + border: 2px solid #0097cf +} + +.tt-query { + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075) +} + +.tt-hint { + color: #999999 +} + +.tt-menu { + width: 422px; + margin-top: -1px; + padding: 8px 0; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 2px +} + +.tt-suggestion { + padding: 3px 20px; + font-size: 18px; + line-height: 20px +} + +.tt-cursor { + background-color: rgba(0, 0, 0, 0.05) +} + +.gist { + font-size: 14px +} + +.empty-message { + padding: 10px 10px; + color: #999; + font-size: 15px; + display: block; + text-align: center; + line-height: 15px +} + +.tt-dropdown-menu, +.gist { + text-align: left +} + +.chosen-container-multi .chosen-choices { + border: 1px solid #ccc; + box-shadow: none; + border-radius: 1px +} + +.chosen-container-multi .chosen-choices li.search-choice { + position: relative; + margin: 3px 0 3px 5px; + padding: 3px 20px 3px 5px; + border: 1px solid #ccc; + border-radius: 2px; + background-color: #fff; + box-shadow: none; + color: #333; + line-height: 22px; + cursor: default +} + +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close { + top: 9px +} + +.chosen-container-multi .chosen-choices li.search-field input[type="text"] { + height: 36px; + font-size: 13px; + line-height: 1.428571429; + color: #777 +} + +.chosen-container-single .chosen-default { + color: #333 +} + +.chosen-container.chosen-container-multi.chosen-with-drop.chosen-container-active .chosen-choices { + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px +} + +.chosen-container .chosen-results li.active-result { + display: list-item; + cursor: pointer +} + +.chosen-container .chosen-results li.highlighted { + background-color: #00babc; + color: #fff +} + +.select2.select2-container--default .select2-selection--multiple, +.select2.select2-container--default.select2-container--focus .select2-selection--multiple { + border: 1px solid #ccc +} + +.select2.select2-container--default .select2-selection--multiple .select2-selection__choice { + max-width: fit-content; + background-color: #fff; + border-color: #ccc; + border-radius: 3px; + padding: 0px 7px; + display: flex; + flex-direction: row-reverse +} + +.select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 5px +} + +.debug-footer { + position: fixed; + opacity: 0; + bottom: 0; + right: 0; + z-index: 2000; + font-size: 2em; + color: #67676d; + text-align: center; + transition: opacity .3s; + padding: 10px 50px +} + +.debug-footer:hover { + opacity: 1; + transition: opacity .3s +} + +.fa-spin { + animation: fa-spin 2s infinite linear +} + +.fa-pulse { + animation: fa-spin 1s infinite steps(8) +} + +@keyframes fa-spin { + 0% { + transform: rotate(0deg) + } + + 100% { + transform: rotate(360deg) + } +} + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em +} + +.fa-pull-left { + float: left +} + +.fa-pull-right { + float: right +} + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em +} + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em +} + +.fa, +.fas, +.far, +.fal, +.fab { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1 +} + +.fa-fw { + text-align: center; + width: 1.25em +} + +.fa-500px:before { + content: "" +} + +.fa-accessible-icon:before { + content: "" +} + +.fa-accusoft:before { + content: "" +} + +.fa-address-book:before { + content: "" +} + +.fa-address-card:before { + content: "" +} + +.fa-adjust:before { + content: "" +} + +.fa-adn:before { + content: "" +} + +.fa-adversal:before { + content: "" +} + +.fa-affiliatetheme:before { + content: "" +} + +.fa-alarm-clock:before { + content: "" +} + +.fa-algolia:before { + content: "" +} + +.fa-align-center:before { + content: "" +} + +.fa-align-justify:before { + content: "" +} + +.fa-align-left:before { + content: "" +} + +.fa-align-right:before { + content: "" +} + +.fa-allergies:before { + content: "" +} + +.fa-amazon:before { + content: "" +} + +.fa-amazon-pay:before { + content: "" +} + +.fa-ambulance:before { + content: "" +} + +.fa-american-sign-language-interpreting:before { + content: "" +} + +.fa-amilia:before { + content: "" +} + +.fa-anchor:before { + content: "" +} + +.fa-android:before { + content: "" +} + +.fa-angellist:before { + content: "" +} + +.fa-angle-double-down:before { + content: "" +} + +.fa-angle-double-left:before { + content: "" +} + +.fa-angle-double-right:before { + content: "" +} + +.fa-angle-double-up:before { + content: "" +} + +.fa-angle-down:before { + content: "" +} + +.fa-angle-left:before { + content: "" +} + +.fa-angle-right:before { + content: "" +} + +.fa-angle-up:before { + content: "" +} + +.fa-angry:before { + content: "" +} + +.fa-angrycreative:before { + content: "" +} + +.fa-angular:before { + content: "" +} + +.fa-app-store:before { + content: "" +} + +.fa-app-store-ios:before { + content: "" +} + +.fa-apper:before { + content: "" +} + +.fa-apple:before { + content: "" +} + +.fa-apple-pay:before { + content: "" +} + +.fa-archive:before { + content: "" +} + +.fa-archway:before { + content: "" +} + +.fa-arrow-alt-circle-down:before { + content: "" +} + +.fa-arrow-alt-circle-left:before { + content: "" +} + +.fa-arrow-alt-circle-right:before { + content: "" +} + +.fa-arrow-alt-circle-up:before { + content: "" +} + +.fa-arrow-alt-down:before { + content: "" +} + +.fa-arrow-alt-from-bottom:before { + content: "" +} + +.fa-arrow-alt-from-left:before { + content: "" +} + +.fa-arrow-alt-from-right:before { + content: "" +} + +.fa-arrow-alt-from-top:before { + content: "" +} + +.fa-arrow-alt-left:before { + content: "" +} + +.fa-arrow-alt-right:before { + content: "" +} + +.fa-arrow-alt-square-down:before { + content: "" +} + +.fa-arrow-alt-square-left:before { + content: "" +} + +.fa-arrow-alt-square-right:before { + content: "" +} + +.fa-arrow-alt-square-up:before { + content: "" +} + +.fa-arrow-alt-to-bottom:before { + content: "" +} + +.fa-arrow-alt-to-left:before { + content: "" +} + +.fa-arrow-alt-to-right:before { + content: "" +} + +.fa-arrow-alt-to-top:before { + content: "" +} + +.fa-arrow-alt-up:before { + content: "" +} + +.fa-arrow-circle-down:before { + content: "" +} + +.fa-arrow-circle-left:before { + content: "" +} + +.fa-arrow-circle-right:before { + content: "" +} + +.fa-arrow-circle-up:before { + content: "" +} + +.fa-arrow-down:before { + content: "" +} + +.fa-arrow-from-bottom:before { + content: "" +} + +.fa-arrow-from-left:before { + content: "" +} + +.fa-arrow-from-right:before { + content: "" +} + +.fa-arrow-from-top:before { + content: "" +} + +.fa-arrow-left:before { + content: "" +} + +.fa-arrow-right:before { + content: "" +} + +.fa-arrow-square-down:before { + content: "" +} + +.fa-arrow-square-left:before { + content: "" +} + +.fa-arrow-square-right:before { + content: "" +} + +.fa-arrow-square-up:before { + content: "" +} + +.fa-arrow-to-bottom:before { + content: "" +} + +.fa-arrow-to-left:before { + content: "" +} + +.fa-arrow-to-right:before { + content: "" +} + +.fa-arrow-to-top:before { + content: "" +} + +.fa-arrow-up:before { + content: "" +} + +.fa-arrows:before { + content: "" +} + +.fa-arrows-alt:before { + content: "" +} + +.fa-arrows-alt-h:before { + content: "" +} + +.fa-arrows-alt-v:before { + content: "" +} + +.fa-arrows-h:before { + content: "" +} + +.fa-arrows-v:before { + content: "" +} + +.fa-assistive-listening-systems:before { + content: "" +} + +.fa-asterisk:before { + content: "" +} + +.fa-asymmetrik:before { + content: "" +} + +.fa-at:before { + content: "" +} + +.fa-atlas:before { + content: "" +} + +.fa-audible:before { + content: "" +} + +.fa-audio-description:before { + content: "" +} + +.fa-autoprefixer:before { + content: "" +} + +.fa-avianex:before { + content: "" +} + +.fa-aviato:before { + content: "" +} + +.fa-award:before { + content: "" +} + +.fa-aws:before { + content: "" +} + +.fa-backspace:before { + content: "" +} + +.fa-backward:before { + content: "" +} + +.fa-badge:before { + content: "" +} + +.fa-badge-check:before { + content: "" +} + +.fa-balance-scale:before { + content: "" +} + +.fa-balance-scale-left:before { + content: "" +} + +.fa-balance-scale-right:before { + content: "" +} + +.fa-ban:before { + content: "" +} + +.fa-band-aid:before { + content: "" +} + +.fa-bandcamp:before { + content: "" +} + +.fa-barcode:before { + content: "" +} + +.fa-barcode-alt:before { + content: "" +} + +.fa-barcode-read:before { + content: "" +} + +.fa-barcode-scan:before { + content: "" +} + +.fa-bars:before { + content: "" +} + +.fa-baseball:before { + content: "" +} + +.fa-baseball-ball:before { + content: "" +} + +.fa-basketball-ball:before { + content: "" +} + +.fa-basketball-hoop:before { + content: "" +} + +.fa-bath:before { + content: "" +} + +.fa-battery-bolt:before { + content: "" +} + +.fa-battery-empty:before { + content: "" +} + +.fa-battery-full:before { + content: "" +} + +.fa-battery-half:before { + content: "" +} + +.fa-battery-quarter:before { + content: "" +} + +.fa-battery-slash:before { + content: "" +} + +.fa-battery-three-quarters:before { + content: "" +} + +.fa-bed:before { + content: "" +} + +.fa-beer:before { + content: "" +} + +.fa-behance:before { + content: "" +} + +.fa-behance-square:before { + content: "" +} + +.fa-bell:before { + content: "" +} + +.fa-bell-slash:before { + content: "" +} + +.fa-bezier-curve:before { + content: "" +} + +.fa-bicycle:before { + content: "" +} + +.fa-bimobject:before { + content: "" +} + +.fa-binoculars:before { + content: "" +} + +.fa-birthday-cake:before { + content: "" +} + +.fa-bitbucket:before { + content: "" +} + +.fa-bitcoin:before { + content: "" +} + +.fa-bity:before { + content: "" +} + +.fa-black-tie:before { + content: "" +} + +.fa-blackberry:before { + content: "" +} + +.fa-blanket:before { + content: "" +} + +.fa-blender:before { + content: "" +} + +.fa-blind:before { + content: "" +} + +.fa-blogger:before { + content: "" +} + +.fa-blogger-b:before { + content: "" +} + +.fa-bluetooth:before { + content: "" +} + +.fa-bluetooth-b:before { + content: "" +} + +.fa-bold:before { + content: "" +} + +.fa-bolt:before { + content: "" +} + +.fa-bomb:before { + content: "" +} + +.fa-bong:before { + content: "" +} + +.fa-book:before { + content: "" +} + +.fa-book-heart:before { + content: "" +} + +.fa-book-open:before { + content: "" +} + +.fa-bookmark:before { + content: "" +} + +.fa-bowling-ball:before { + content: "" +} + +.fa-bowling-pins:before { + content: "" +} + +.fa-box:before { + content: "" +} + +.fa-box-alt:before { + content: "" +} + +.fa-box-check:before { + content: "" +} + +.fa-box-fragile:before { + content: "" +} + +.fa-box-full:before { + content: "" +} + +.fa-box-heart:before { + content: "" +} + +.fa-box-open:before { + content: "" +} + +.fa-box-up:before { + content: "" +} + +.fa-box-usd:before { + content: "" +} + +.fa-boxes:before { + content: "" +} + +.fa-boxes-alt:before { + content: "" +} + +.fa-boxing-glove:before { + content: "" +} + +.fa-braille:before { + content: "" +} + +.fa-briefcase:before { + content: "" +} + +.fa-briefcase-medical:before { + content: "" +} + +.fa-broadcast-tower:before { + content: "" +} + +.fa-broom:before { + content: "" +} + +.fa-browser:before { + content: "" +} + +.fa-brush:before { + content: "" +} + +.fa-btc:before { + content: "" +} + +.fa-bug:before { + content: "" +} + +.fa-building:before { + content: "" +} + +.fa-bullhorn:before { + content: "" +} + +.fa-bullseye:before { + content: "" +} + +.fa-burn:before { + content: "" +} + +.fa-buromobelexperte:before { + content: "" +} + +.fa-bus:before { + content: "" +} + +.fa-bus-alt:before { + content: "" +} + +.fa-buysellads:before { + content: "" +} + +.fa-calculator:before { + content: "" +} + +.fa-calendar:before { + content: "" +} + +.fa-calendar-alt:before { + content: "" +} + +.fa-calendar-check:before { + content: "" +} + +.fa-calendar-edit:before { + content: "" +} + +.fa-calendar-exclamation:before { + content: "" +} + +.fa-calendar-minus:before { + content: "" +} + +.fa-calendar-plus:before { + content: "" +} + +.fa-calendar-times:before { + content: "" +} + +.fa-camera:before { + content: "" +} + +.fa-camera-alt:before { + content: "" +} + +.fa-camera-retro:before { + content: "" +} + +.fa-cannabis:before { + content: "" +} + +.fa-capsules:before { + content: "" +} + +.fa-car:before { + content: "" +} + +.fa-caret-circle-down:before { + content: "" +} + +.fa-caret-circle-left:before { + content: "" +} + +.fa-caret-circle-right:before { + content: "" +} + +.fa-caret-circle-up:before { + content: "" +} + +.fa-caret-down:before { + content: "" +} + +.fa-caret-left:before { + content: "" +} + +.fa-caret-right:before { + content: "" +} + +.fa-caret-square-down:before { + content: "" +} + +.fa-caret-square-left:before { + content: "" +} + +.fa-caret-square-right:before { + content: "" +} + +.fa-caret-square-up:before { + content: "" +} + +.fa-caret-up:before { + content: "" +} + +.fa-cart-arrow-down:before { + content: "" +} + +.fa-cart-plus:before { + content: "" +} + +.fa-cc-amazon-pay:before { + content: "" +} + +.fa-cc-amex:before { + content: "" +} + +.fa-cc-apple-pay:before { + content: "" +} + +.fa-cc-diners-club:before { + content: "" +} + +.fa-cc-discover:before { + content: "" +} + +.fa-cc-jcb:before { + content: "" +} + +.fa-cc-mastercard:before { + content: "" +} + +.fa-cc-paypal:before { + content: "" +} + +.fa-cc-stripe:before { + content: "" +} + +.fa-cc-visa:before { + content: "" +} + +.fa-centercode:before { + content: "" +} + +.fa-certificate:before { + content: "" +} + +.fa-chalkboard:before { + content: "" +} + +.fa-chalkboard-teacher:before { + content: "" +} + +.fa-chart-area:before { + content: "" +} + +.fa-chart-bar:before { + content: "" +} + +.fa-chart-line:before { + content: "" +} + +.fa-chart-pie:before { + content: "" +} + +.fa-check:before { + content: "" +} + +.fa-check-circle:before { + content: "" +} + +.fa-check-double:before { + content: "" +} + +.fa-check-square:before { + content: "" +} + +.fa-chess:before { + content: "" +} + +.fa-chess-bishop:before { + content: "" +} + +.fa-chess-bishop-alt:before { + content: "" +} + +.fa-chess-board:before { + content: "" +} + +.fa-chess-clock:before { + content: "" +} + +.fa-chess-clock-alt:before { + content: "" +} + +.fa-chess-king:before { + content: "" +} + +.fa-chess-king-alt:before { + content: "" +} + +.fa-chess-knight:before { + content: "" +} + +.fa-chess-knight-alt:before { + content: "" +} + +.fa-chess-pawn:before { + content: "" +} + +.fa-chess-pawn-alt:before { + content: "" +} + +.fa-chess-queen:before { + content: "" +} + +.fa-chess-queen-alt:before { + content: "" +} + +.fa-chess-rook:before { + content: "" +} + +.fa-chess-rook-alt:before { + content: "" +} + +.fa-chevron-circle-down:before { + content: "" +} + +.fa-chevron-circle-left:before { + content: "" +} + +.fa-chevron-circle-right:before { + content: "" +} + +.fa-chevron-circle-up:before { + content: "" +} + +.fa-chevron-double-down:before { + content: "" +} + +.fa-chevron-double-left:before { + content: "" +} + +.fa-chevron-double-right:before { + content: "" +} + +.fa-chevron-double-up:before { + content: "" +} + +.fa-chevron-down:before { + content: "" +} + +.fa-chevron-left:before { + content: "" +} + +.fa-chevron-right:before { + content: "" +} + +.fa-chevron-square-down:before { + content: "" +} + +.fa-chevron-square-left:before { + content: "" +} + +.fa-chevron-square-right:before { + content: "" +} + +.fa-chevron-square-up:before { + content: "" +} + +.fa-chevron-up:before { + content: "" +} + +.fa-child:before { + content: "" +} + +.fa-chrome:before { + content: "" +} + +.fa-church:before { + content: "" +} + +.fa-circle:before { + content: "" +} + +.fa-circle-notch:before { + content: "" +} + +.fa-clipboard:before { + content: "" +} + +.fa-clipboard-check:before { + content: "" +} + +.fa-clipboard-list:before { + content: "" +} + +.fa-clock:before { + content: "" +} + +.fa-clone:before { + content: "" +} + +.fa-closed-captioning:before { + content: "" +} + +.fa-cloud:before { + content: "" +} + +.fa-cloud-download:before { + content: "" +} + +.fa-cloud-download-alt:before { + content: "" +} + +.fa-cloud-upload:before { + content: "" +} + +.fa-cloud-upload-alt:before { + content: "" +} + +.fa-cloudscale:before { + content: "" +} + +.fa-cloudsmith:before { + content: "" +} + +.fa-cloudversify:before { + content: "" +} + +.fa-club:before { + content: "" +} + +.fa-cocktail:before { + content: "" +} + +.fa-code:before { + content: "" +} + +.fa-code-branch:before { + content: "" +} + +.fa-code-commit:before { + content: "" +} + +.fa-code-merge:before { + content: "" +} + +.fa-codepen:before { + content: "" +} + +.fa-codiepie:before { + content: "" +} + +.fa-coffee:before { + content: "" +} + +.fa-cog:before { + content: "" +} + +.fa-cogs:before { + content: "" +} + +.fa-coins:before { + content: "" +} + +.fa-columns:before { + content: "" +} + +.fa-comment:before { + content: "" +} + +.fa-comment-alt:before { + content: "" +} + +.fa-comment-alt-check:before { + content: "" +} + +.fa-comment-alt-dots:before { + content: "" +} + +.fa-comment-alt-edit:before { + content: "" +} + +.fa-comment-alt-exclamation:before { + content: "" +} + +.fa-comment-alt-lines:before { + content: "" +} + +.fa-comment-alt-minus:before { + content: "" +} + +.fa-comment-alt-plus:before { + content: "" +} + +.fa-comment-alt-slash:before { + content: "" +} + +.fa-comment-alt-smile:before { + content: "" +} + +.fa-comment-alt-times:before { + content: "" +} + +.fa-comment-check:before { + content: "" +} + +.fa-comment-dots:before { + content: "" +} + +.fa-comment-edit:before { + content: "" +} + +.fa-comment-exclamation:before { + content: "" +} + +.fa-comment-lines:before { + content: "" +} + +.fa-comment-minus:before { + content: "" +} + +.fa-comment-plus:before { + content: "" +} + +.fa-comment-slash:before { + content: "" +} + +.fa-comment-smile:before { + content: "" +} + +.fa-comment-times:before { + content: "" +} + +.fa-comments:before { + content: "" +} + +.fa-comments-alt:before { + content: "" +} + +.fa-compact-disc:before { + content: "" +} + +.fa-compass:before { + content: "" +} + +.fa-compress:before { + content: "" +} + +.fa-compress-alt:before { + content: "" +} + +.fa-compress-wide:before { + content: "" +} + +.fa-concierge-bell:before { + content: "" +} + +.fa-connectdevelop:before { + content: "" +} + +.fa-container-storage:before { + content: "" +} + +.fa-contao:before { + content: "" +} + +.fa-conveyor-belt:before { + content: "" +} + +.fa-conveyor-belt-alt:before { + content: "" +} + +.fa-cookie:before { + content: "" +} + +.fa-cookie-bite:before { + content: "" +} + +.fa-copy:before { + content: "" +} + +.fa-copyright:before { + content: "" +} + +.fa-couch:before { + content: "" +} + +.fa-cpanel:before { + content: "" +} + +.fa-creative-commons:before { + content: "" +} + +.fa-creative-commons-by:before { + content: "" +} + +.fa-creative-commons-nc:before { + content: "" +} + +.fa-creative-commons-nc-eu:before { + content: "" +} + +.fa-creative-commons-nc-jp:before { + content: "" +} + +.fa-creative-commons-nd:before { + content: "" +} + +.fa-creative-commons-pd:before { + content: "" +} + +.fa-creative-commons-pd-alt:before { + content: "" +} + +.fa-creative-commons-remix:before { + content: "" +} + +.fa-creative-commons-sa:before { + content: "" +} + +.fa-creative-commons-sampling:before { + content: "" +} + +.fa-creative-commons-sampling-plus:before { + content: "" +} + +.fa-creative-commons-share:before { + content: "" +} + +.fa-creative-commons-zero:before { + content: "" +} + +.fa-credit-card:before { + content: "" +} + +.fa-credit-card-blank:before { + content: "" +} + +.fa-credit-card-front:before { + content: "" +} + +.fa-cricket:before { + content: "" +} + +.fa-crop:before { + content: "" +} + +.fa-crop-alt:before { + content: "" +} + +.fa-crosshairs:before { + content: "" +} + +.fa-crow:before { + content: "" +} + +.fa-crown:before { + content: "" +} + +.fa-css3:before { + content: "" +} + +.fa-css3-alt:before { + content: "" +} + +.fa-cube:before { + content: "" +} + +.fa-cubes:before { + content: "" +} + +.fa-curling:before { + content: "" +} + +.fa-cut:before { + content: "" +} + +.fa-cuttlefish:before { + content: "" +} + +.fa-d-and-d:before { + content: "" +} + +.fa-dashcube:before { + content: "" +} + +.fa-database:before { + content: "" +} + +.fa-deaf:before { + content: "" +} + +.fa-delicious:before { + content: "" +} + +.fa-deploydog:before { + content: "" +} + +.fa-deskpro:before { + content: "" +} + +.fa-desktop:before { + content: "" +} + +.fa-desktop-alt:before { + content: "" +} + +.fa-deviantart:before { + content: "" +} + +.fa-diagnoses:before { + content: "" +} + +.fa-diamond:before { + content: "" +} + +.fa-dice:before { + content: "" +} + +.fa-dice-five:before { + content: "" +} + +.fa-dice-four:before { + content: "" +} + +.fa-dice-one:before { + content: "" +} + +.fa-dice-six:before { + content: "" +} + +.fa-dice-three:before { + content: "" +} + +.fa-dice-two:before { + content: "" +} + +.fa-digg:before { + content: "" +} + +.fa-digital-ocean:before { + content: "" +} + +.fa-digital-tachograph:before { + content: "" +} + +.fa-discord:before { + content: "" +} + +.fa-discourse:before { + content: "" +} + +.fa-divide:before { + content: "" +} + +.fa-dizzy:before { + content: "" +} + +.fa-dna:before { + content: "" +} + +.fa-dochub:before { + content: "" +} + +.fa-docker:before { + content: "" +} + +.fa-dollar-sign:before { + content: "" +} + +.fa-dolly:before { + content: "" +} + +.fa-dolly-empty:before { + content: "" +} + +.fa-dolly-flatbed:before { + content: "" +} + +.fa-dolly-flatbed-alt:before { + content: "" +} + +.fa-dolly-flatbed-empty:before { + content: "" +} + +.fa-donate:before { + content: "" +} + +.fa-door-closed:before { + content: "" +} + +.fa-door-open:before { + content: "" +} + +.fa-dot-circle:before { + content: "" +} + +.fa-dove:before { + content: "" +} + +.fa-download:before { + content: "" +} + +.fa-draft2digital:before { + content: "" +} + +.fa-drafting-compass:before { + content: "" +} + +.fa-dribbble:before { + content: "" +} + +.fa-dribbble-square:before { + content: "" +} + +.fa-dropbox:before { + content: "" +} + +.fa-drum:before { + content: "" +} + +.fa-drum-steelpan:before { + content: "" +} + +.fa-drupal:before { + content: "" +} + +.fa-dumbbell:before { + content: "" +} + +.fa-dyalog:before { + content: "" +} + +.fa-earlybirds:before { + content: "" +} + +.fa-ebay:before { + content: "" +} + +.fa-edge:before { + content: "" +} + +.fa-edit:before { + content: "" +} + +.fa-eject:before { + content: "" +} + +.fa-elementor:before { + content: "" +} + +.fa-ellipsis-h:before { + content: "" +} + +.fa-ellipsis-h-alt:before { + content: "" +} + +.fa-ellipsis-v:before { + content: "" +} + +.fa-ellipsis-v-alt:before { + content: "" +} + +.fa-ember:before { + content: "" +} + +.fa-empire:before { + content: "" +} + +.fa-envelope:before { + content: "" +} + +.fa-envelope-open:before { + content: "" +} + +.fa-envelope-square:before { + content: "" +} + +.fa-envira:before { + content: "" +} + +.fa-equals:before { + content: "" +} + +.fa-eraser:before { + content: "" +} + +.fa-erlang:before { + content: "" +} + +.fa-ethereum:before { + content: "" +} + +.fa-etsy:before { + content: "" +} + +.fa-euro-sign:before { + content: "" +} + +.fa-exchange:before { + content: "" +} + +.fa-exchange-alt:before { + content: "" +} + +.fa-exclamation:before { + content: "" +} + +.fa-exclamation-circle:before { + content: "" +} + +.fa-exclamation-square:before { + content: "" +} + +.fa-exclamation-triangle:before { + content: "" +} + +.fa-expand:before { + content: "" +} + +.fa-expand-alt:before { + content: "" +} + +.fa-expand-arrows:before { + content: "" +} + +.fa-expand-arrows-alt:before { + content: "" +} + +.fa-expand-wide:before { + content: "" +} + +.fa-expeditedssl:before { + content: "" +} + +.fa-external-link:before { + content: "" +} + +.fa-external-link-alt:before { + content: "" +} + +.fa-external-link-square:before { + content: "" +} + +.fa-external-link-square-alt:before { + content: "" +} + +.fa-eye:before { + content: "" +} + +.fa-eye-dropper:before { + content: "" +} + +.fa-eye-slash:before { + content: "" +} + +.fa-facebook:before { + content: "" +} + +.fa-facebook-f:before { + content: "" +} + +.fa-facebook-messenger:before { + content: "" +} + +.fa-facebook-square:before { + content: "" +} + +.fa-fast-backward:before { + content: "" +} + +.fa-fast-forward:before { + content: "" +} + +.fa-fax:before { + content: "" +} + +.fa-feather:before { + content: "" +} + +.fa-feather-alt:before { + content: "" +} + +.fa-female:before { + content: "" +} + +.fa-field-hockey:before { + content: "" +} + +.fa-fighter-jet:before { + content: "" +} + +.fa-file:before { + content: "" +} + +.fa-file-alt:before { + content: "" +} + +.fa-file-archive:before { + content: "" +} + +.fa-file-audio:before { + content: "" +} + +.fa-file-check:before { + content: "" +} + +.fa-file-code:before { + content: "" +} + +.fa-file-contract:before { + content: "" +} + +.fa-file-download:before { + content: "" +} + +.fa-file-edit:before { + content: "" +} + +.fa-file-excel:before { + content: "" +} + +.fa-file-exclamation:before { + content: "" +} + +.fa-file-export:before { + content: "" +} + +.fa-file-image:before { + content: "" +} + +.fa-file-import:before { + content: "" +} + +.fa-file-invoice:before { + content: "" +} + +.fa-file-invoice-dollar:before { + content: "" +} + +.fa-file-medical:before { + content: "" +} + +.fa-file-medical-alt:before { + content: "" +} + +.fa-file-minus:before { + content: "" +} + +.fa-file-pdf:before { + content: "" +} + +.fa-file-plus:before { + content: "" +} + +.fa-file-powerpoint:before { + content: "" +} + +.fa-file-prescription:before { + content: "" +} + +.fa-file-signature:before { + content: "" +} + +.fa-file-times:before { + content: "" +} + +.fa-file-upload:before { + content: "" +} + +.fa-file-video:before { + content: "" +} + +.fa-file-word:before { + content: "" +} + +.fa-fill:before { + content: "" +} + +.fa-fill-drip:before { + content: "" +} + +.fa-film:before { + content: "" +} + +.fa-film-alt:before { + content: "" +} + +.fa-filter:before { + content: "" +} + +.fa-fingerprint:before { + content: "" +} + +.fa-fire:before { + content: "" +} + +.fa-fire-extinguisher:before { + content: "" +} + +.fa-firefox:before { + content: "" +} + +.fa-first-aid:before { + content: "" +} + +.fa-first-order:before { + content: "" +} + +.fa-first-order-alt:before { + content: "" +} + +.fa-firstdraft:before { + content: "" +} + +.fa-fish:before { + content: "" +} + +.fa-flag:before { + content: "" +} + +.fa-flag-checkered:before { + content: "" +} + +.fa-flask:before { + content: "" +} + +.fa-flickr:before { + content: "" +} + +.fa-flipboard:before { + content: "" +} + +.fa-flushed:before { + content: "" +} + +.fa-fly:before { + content: "" +} + +.fa-folder:before { + content: "" +} + +.fa-folder-open:before { + content: "" +} + +.fa-font:before { + content: "" +} + +.fa-font-awesome:before { + content: "" +} + +.fa-font-awesome-alt:before { + content: "" +} + +.fa-font-awesome-flag:before { + content: "" +} + +.fa-font-awesome-logo-full:before { + content: "" +} + +.fa-fonticons:before { + content: "" +} + +.fa-fonticons-fi:before { + content: "" +} + +.fa-football-ball:before { + content: "" +} + +.fa-football-helmet:before { + content: "" +} + +.fa-forklift:before { + content: "" +} + +.fa-fort-awesome:before { + content: "" +} + +.fa-fort-awesome-alt:before { + content: "" +} + +.fa-forumbee:before { + content: "" +} + +.fa-forward:before { + content: "" +} + +.fa-foursquare:before { + content: "" +} + +.fa-fragile:before { + content: "" +} + +.fa-free-code-camp:before { + content: "" +} + +.fa-freebsd:before { + content: "" +} + +.fa-frog:before { + content: "" +} + +.fa-frown:before { + content: "" +} + +.fa-frown-open:before { + content: "" +} + +.fa-fulcrum:before { + content: "" +} + +.fa-futbol:before { + content: "" +} + +.fa-galactic-republic:before { + content: "" +} + +.fa-galactic-senate:before { + content: "" +} + +.fa-gamepad:before { + content: "" +} + +.fa-gas-pump:before { + content: "" +} + +.fa-gavel:before { + content: "" +} + +.fa-gem:before { + content: "" +} + +.fa-genderless:before { + content: "" +} + +.fa-get-pocket:before { + content: "" +} + +.fa-gg:before { + content: "" +} + +.fa-gg-circle:before { + content: "" +} + +.fa-gift:before { + content: "" +} + +.fa-git:before { + content: "" +} + +.fa-git-square:before { + content: "" +} + +.fa-github:before { + content: "" +} + +.fa-github-alt:before { + content: "" +} + +.fa-github-square:before { + content: "" +} + +.fa-gitkraken:before { + content: "" +} + +.fa-gitlab:before { + content: "" +} + +.fa-gitter:before { + content: "" +} + +.fa-glass-martini:before { + content: "" +} + +.fa-glass-martini-alt:before { + content: "" +} + +.fa-glasses:before { + content: "" +} + +.fa-glide:before { + content: "" +} + +.fa-glide-g:before { + content: "" +} + +.fa-globe:before { + content: "" +} + +.fa-globe-africa:before { + content: "" +} + +.fa-globe-americas:before { + content: "" +} + +.fa-globe-asia:before { + content: "" +} + +.fa-gofore:before { + content: "" +} + +.fa-golf-ball:before { + content: "" +} + +.fa-golf-club:before { + content: "" +} + +.fa-goodreads:before { + content: "" +} + +.fa-goodreads-g:before { + content: "" +} + +.fa-google:before { + content: "" +} + +.fa-google-drive:before { + content: "" +} + +.fa-google-play:before { + content: "" +} + +.fa-google-plus:before { + content: "" +} + +.fa-google-plus-g:before { + content: "" +} + +.fa-google-plus-square:before { + content: "" +} + +.fa-google-wallet:before { + content: "" +} + +.fa-graduation-cap:before { + content: "" +} + +.fa-gratipay:before { + content: "" +} + +.fa-grav:before { + content: "" +} + +.fa-greater-than:before { + content: "" +} + +.fa-greater-than-equal:before { + content: "" +} + +.fa-grimace:before { + content: "" +} + +.fa-grin:before { + content: "" +} + +.fa-grin-alt:before { + content: "" +} + +.fa-grin-beam:before { + content: "" +} + +.fa-grin-beam-sweat:before { + content: "" +} + +.fa-grin-hearts:before { + content: "" +} + +.fa-grin-squint:before { + content: "" +} + +.fa-grin-squint-tears:before { + content: "" +} + +.fa-grin-stars:before { + content: "" +} + +.fa-grin-tears:before { + content: "" +} + +.fa-grin-tongue:before { + content: "" +} + +.fa-grin-tongue-squint:before { + content: "" +} + +.fa-grin-tongue-wink:before { + content: "" +} + +.fa-grin-wink:before { + content: "" +} + +.fa-grip-horizontal:before { + content: "" +} + +.fa-grip-vertical:before { + content: "" +} + +.fa-gripfire:before { + content: "" +} + +.fa-grunt:before { + content: "" +} + +.fa-gulp:before { + content: "" +} + +.fa-h-square:before { + content: "" +} + +.fa-h1:before { + content: "" +} + +.fa-h2:before { + content: "" +} + +.fa-h3:before { + content: "" +} + +.fa-hacker-news:before { + content: "" +} + +.fa-hacker-news-square:before { + content: "" +} + +.fa-hand-heart:before { + content: "" +} + +.fa-hand-holding:before { + content: "" +} + +.fa-hand-holding-box:before { + content: "" +} + +.fa-hand-holding-heart:before { + content: "" +} + +.fa-hand-holding-seedling:before { + content: "" +} + +.fa-hand-holding-usd:before { + content: "" +} + +.fa-hand-holding-water:before { + content: "" +} + +.fa-hand-lizard:before { + content: "" +} + +.fa-hand-paper:before { + content: "" +} + +.fa-hand-peace:before { + content: "" +} + +.fa-hand-point-down:before { + content: "" +} + +.fa-hand-point-left:before { + content: "" +} + +.fa-hand-point-right:before { + content: "" +} + +.fa-hand-point-up:before { + content: "" +} + +.fa-hand-pointer:before { + content: "" +} + +.fa-hand-receiving:before { + content: "" +} + +.fa-hand-rock:before { + content: "" +} + +.fa-hand-scissors:before { + content: "" +} + +.fa-hand-spock:before { + content: "" +} + +.fa-hands:before { + content: "" +} + +.fa-hands-heart:before { + content: "" +} + +.fa-hands-helping:before { + content: "" +} + +.fa-hands-usd:before { + content: "" +} + +.fa-handshake:before { + content: "" +} + +.fa-handshake-alt:before { + content: "" +} + +.fa-hashtag:before { + content: "" +} + +.fa-hdd:before { + content: "" +} + +.fa-heading:before { + content: "" +} + +.fa-headphones:before { + content: "" +} + +.fa-headphones-alt:before { + content: "" +} + +.fa-headset:before { + content: "" +} + +.fa-heart:before { + content: "" +} + +.fa-heart-circle:before { + content: "" +} + +.fa-heart-square:before { + content: "" +} + +.fa-heartbeat:before { + content: "" +} + +.fa-helicopter:before { + content: "" +} + +.fa-hexagon:before { + content: "" +} + +.fa-highlighter:before { + content: "" +} + +.fa-hips:before { + content: "" +} + +.fa-hire-a-helper:before { + content: "" +} + +.fa-history:before { + content: "" +} + +.fa-hockey-puck:before { + content: "" +} + +.fa-hockey-sticks:before { + content: "" +} + +.fa-home:before { + content: "" +} + +.fa-home-heart:before { + content: "" +} + +.fa-hooli:before { + content: "" +} + +.fa-hornbill:before { + content: "" +} + +.fa-hospital:before { + content: "" +} + +.fa-hospital-alt:before { + content: "" +} + +.fa-hospital-symbol:before { + content: "" +} + +.fa-hot-tub:before { + content: "" +} + +.fa-hotel:before { + content: "" +} + +.fa-hotjar:before { + content: "" +} + +.fa-hourglass:before { + content: "" +} + +.fa-hourglass-end:before { + content: "" +} + +.fa-hourglass-half:before { + content: "" +} + +.fa-hourglass-start:before { + content: "" +} + +.fa-houzz:before { + content: "" +} + +.fa-html5:before { + content: "" +} + +.fa-hubspot:before { + content: "" +} + +.fa-i-cursor:before { + content: "" +} + +.fa-id-badge:before { + content: "" +} + +.fa-id-card:before { + content: "" +} + +.fa-id-card-alt:before { + content: "" +} + +.fa-image:before { + content: "" +} + +.fa-images:before { + content: "" +} + +.fa-imdb:before { + content: "" +} + +.fa-inbox:before { + content: "" +} + +.fa-inbox-in:before { + content: "" +} + +.fa-inbox-out:before { + content: "" +} + +.fa-indent:before { + content: "" +} + +.fa-industry:before { + content: "" +} + +.fa-industry-alt:before { + content: "" +} + +.fa-infinity:before { + content: "" +} + +.fa-info:before { + content: "" +} + +.fa-info-circle:before { + content: "" +} + +.fa-info-square:before { + content: "" +} + +.fa-instagram:before { + content: "" +} + +.fa-internet-explorer:before { + content: "" +} + +.fa-inventory:before { + content: "" +} + +.fa-ioxhost:before { + content: "" +} + +.fa-italic:before { + content: "" +} + +.fa-itunes:before { + content: "" +} + +.fa-itunes-note:before { + content: "" +} + +.fa-jack-o-lantern:before { + content: "" +} + +.fa-java:before { + content: "" +} + +.fa-jedi-order:before { + content: "" +} + +.fa-jenkins:before { + content: "" +} + +.fa-joget:before { + content: "" +} + +.fa-joint:before { + content: "" +} + +.fa-joomla:before { + content: "" +} + +.fa-js:before { + content: "" +} + +.fa-js-square:before { + content: "" +} + +.fa-jsfiddle:before { + content: "" +} + +.fa-key:before { + content: "" +} + +.fa-keybase:before { + content: "" +} + +.fa-keyboard:before { + content: "" +} + +.fa-keycdn:before { + content: "" +} + +.fa-kickstarter:before { + content: "" +} + +.fa-kickstarter-k:before { + content: "" +} + +.fa-kiss:before { + content: "" +} + +.fa-kiss-beam:before { + content: "" +} + +.fa-kiss-wink-heart:before { + content: "" +} + +.fa-kiwi-bird:before { + content: "" +} + +.fa-korvue:before { + content: "" +} + +.fa-lamp:before { + content: "" +} + +.fa-language:before { + content: "" +} + +.fa-laptop:before { + content: "" +} + +.fa-laravel:before { + content: "" +} + +.fa-lastfm:before { + content: "" +} + +.fa-lastfm-square:before { + content: "" +} + +.fa-laugh:before { + content: "" +} + +.fa-laugh-beam:before { + content: "" +} + +.fa-laugh-squint:before { + content: "" +} + +.fa-laugh-wink:before { + content: "" +} + +.fa-leaf:before { + content: "" +} + +.fa-leaf-heart:before { + content: "" +} + +.fa-leanpub:before { + content: "" +} + +.fa-lemon:before { + content: "" +} + +.fa-less:before { + content: "" +} + +.fa-less-than:before { + content: "" +} + +.fa-less-than-equal:before { + content: "" +} + +.fa-level-down:before { + content: "" +} + +.fa-level-down-alt:before { + content: "" +} + +.fa-level-up:before { + content: "" +} + +.fa-level-up-alt:before { + content: "" +} + +.fa-life-ring:before { + content: "" +} + +.fa-lightbulb:before { + content: "" +} + +.fa-line:before { + content: "" +} + +.fa-link:before { + content: "" +} + +.fa-linkedin:before { + content: "" +} + +.fa-linkedin-in:before { + content: "" +} + +.fa-linode:before { + content: "" +} + +.fa-linux:before { + content: "" +} + +.fa-lira-sign:before { + content: "" +} + +.fa-list:before { + content: "" +} + +.fa-list-alt:before { + content: "" +} + +.fa-list-ol:before { + content: "" +} + +.fa-list-ul:before { + content: "" +} + +.fa-location-arrow:before { + content: "" +} + +.fa-lock:before { + content: "" +} + +.fa-lock-alt:before { + content: "" +} + +.fa-lock-open:before { + content: "" +} + +.fa-lock-open-alt:before { + content: "" +} + +.fa-long-arrow-alt-down:before { + content: "" +} + +.fa-long-arrow-alt-left:before { + content: "" +} + +.fa-long-arrow-alt-right:before { + content: "" +} + +.fa-long-arrow-alt-up:before { + content: "" +} + +.fa-long-arrow-down:before { + content: "" +} + +.fa-long-arrow-left:before { + content: "" +} + +.fa-long-arrow-right:before { + content: "" +} + +.fa-long-arrow-up:before { + content: "" +} + +.fa-loveseat:before { + content: "" +} + +.fa-low-vision:before { + content: "" +} + +.fa-luchador:before { + content: "" +} + +.fa-luggage-cart:before { + content: "" +} + +.fa-lyft:before { + content: "" +} + +.fa-magento:before { + content: "" +} + +.fa-magic:before { + content: "" +} + +.fa-magnet:before { + content: "" +} + +.fa-mailchimp:before { + content: "" +} + +.fa-male:before { + content: "" +} + +.fa-mandalorian:before { + content: "" +} + +.fa-map:before { + content: "" +} + +.fa-map-marked:before { + content: "" +} + +.fa-map-marked-alt:before { + content: "" +} + +.fa-map-marker:before { + content: "" +} + +.fa-map-marker-alt:before { + content: "" +} + +.fa-map-pin:before { + content: "" +} + +.fa-map-signs:before { + content: "" +} + +.fa-marker:before { + content: "" +} + +.fa-mars:before { + content: "" +} + +.fa-mars-double:before { + content: "" +} + +.fa-mars-stroke:before { + content: "" +} + +.fa-mars-stroke-h:before { + content: "" +} + +.fa-mars-stroke-v:before { + content: "" +} + +.fa-mastodon:before { + content: "" +} + +.fa-maxcdn:before { + content: "" +} + +.fa-medal:before { + content: "" +} + +.fa-medapps:before { + content: "" +} + +.fa-medium:before { + content: "" +} + +.fa-medium-m:before { + content: "" +} + +.fa-medkit:before { + content: "" +} + +.fa-medrt:before { + content: "" +} + +.fa-meetup:before { + content: "" +} + +.fa-megaport:before { + content: "" +} + +.fa-meh:before { + content: "" +} + +.fa-meh-blank:before { + content: "" +} + +.fa-meh-rolling-eyes:before { + content: "" +} + +.fa-memory:before { + content: "" +} + +.fa-mercury:before { + content: "" +} + +.fa-microchip:before { + content: "" +} + +.fa-microphone:before { + content: "" +} + +.fa-microphone-alt:before { + content: "" +} + +.fa-microphone-alt-slash:before { + content: "" +} + +.fa-microphone-slash:before { + content: "" +} + +.fa-microsoft:before { + content: "" +} + +.fa-minus:before { + content: "" +} + +.fa-minus-circle:before { + content: "" +} + +.fa-minus-hexagon:before { + content: "" +} + +.fa-minus-octagon:before { + content: "" +} + +.fa-minus-square:before { + content: "" +} + +.fa-mix:before { + content: "" +} + +.fa-mixcloud:before { + content: "" +} + +.fa-mizuni:before { + content: "" +} + +.fa-mobile:before { + content: "" +} + +.fa-mobile-alt:before { + content: "" +} + +.fa-mobile-android:before { + content: "" +} + +.fa-mobile-android-alt:before { + content: "" +} + +.fa-modx:before { + content: "" +} + +.fa-monero:before { + content: "" +} + +.fa-money-bill:before { + content: "" +} + +.fa-money-bill-alt:before { + content: "" +} + +.fa-money-bill-wave:before { + content: "" +} + +.fa-money-bill-wave-alt:before { + content: "" +} + +.fa-money-check:before { + content: "" +} + +.fa-money-check-alt:before { + content: "" +} + +.fa-monument:before { + content: "" +} + +.fa-moon:before { + content: "" +} + +.fa-mortar-pestle:before { + content: "" +} + +.fa-motorcycle:before { + content: "" +} + +.fa-mouse-pointer:before { + content: "" +} + +.fa-music:before { + content: "" +} + +.fa-napster:before { + content: "" +} + +.fa-neuter:before { + content: "" +} + +.fa-newspaper:before { + content: "" +} + +.fa-nimblr:before { + content: "" +} + +.fa-nintendo-switch:before { + content: "" +} + +.fa-node:before { + content: "" +} + +.fa-node-js:before { + content: "" +} + +.fa-not-equal:before { + content: "" +} + +.fa-notes-medical:before { + content: "" +} + +.fa-npm:before { + content: "" +} + +.fa-ns8:before { + content: "" +} + +.fa-nutritionix:before { + content: "" +} + +.fa-object-group:before { + content: "" +} + +.fa-object-ungroup:before { + content: "" +} + +.fa-octagon:before { + content: "" +} + +.fa-odnoklassniki:before { + content: "" +} + +.fa-odnoklassniki-square:before { + content: "" +} + +.fa-old-republic:before { + content: "" +} + +.fa-opencart:before { + content: "" +} + +.fa-openid:before { + content: "" +} + +.fa-opera:before { + content: "" +} + +.fa-optin-monster:before { + content: "" +} + +.fa-osi:before { + content: "" +} + +.fa-outdent:before { + content: "" +} + +.fa-page4:before { + content: "" +} + +.fa-pagelines:before { + content: "" +} + +.fa-paint-brush:before { + content: "" +} + +.fa-paint-brush-alt:before { + content: "" +} + +.fa-paint-roller:before { + content: "" +} + +.fa-palette:before { + content: "" +} + +.fa-palfed:before { + content: "" +} + +.fa-pallet:before { + content: "" +} + +.fa-pallet-alt:before { + content: "" +} + +.fa-paper-plane:before { + content: "" +} + +.fa-paperclip:before { + content: "" +} + +.fa-parachute-box:before { + content: "" +} + +.fa-paragraph:before { + content: "" +} + +.fa-parking:before { + content: "" +} + +.fa-passport:before { + content: "" +} + +.fa-paste:before { + content: "" +} + +.fa-patreon:before { + content: "" +} + +.fa-pause:before { + content: "" +} + +.fa-pause-circle:before { + content: "" +} + +.fa-paw:before { + content: "" +} + +.fa-paypal:before { + content: "" +} + +.fa-pen:before { + content: "" +} + +.fa-pen-alt:before { + content: "" +} + +.fa-pen-fancy:before { + content: "" +} + +.fa-pen-nib:before { + content: "" +} + +.fa-pen-square:before { + content: "" +} + +.fa-pencil:before { + content: "" +} + +.fa-pencil-alt:before { + content: "" +} + +.fa-pencil-ruler:before { + content: "" +} + +.fa-pennant:before { + content: "" +} + +.fa-people-carry:before { + content: "" +} + +.fa-percent:before { + content: "" +} + +.fa-percentage:before { + content: "" +} + +.fa-periscope:before { + content: "" +} + +.fa-person-carry:before { + content: "" +} + +.fa-person-dolly:before { + content: "" +} + +.fa-person-dolly-empty:before { + content: "" +} + +.fa-phabricator:before { + content: "" +} + +.fa-phoenix-framework:before { + content: "" +} + +.fa-phoenix-squadron:before { + content: "" +} + +.fa-phone:before { + content: "" +} + +.fa-phone-plus:before { + content: "" +} + +.fa-phone-slash:before { + content: "" +} + +.fa-phone-square:before { + content: "" +} + +.fa-phone-volume:before { + content: "" +} + +.fa-php:before { + content: "" +} + +.fa-pied-piper:before { + content: "" +} + +.fa-pied-piper-alt:before { + content: "" +} + +.fa-pied-piper-hat:before { + content: "" +} + +.fa-pied-piper-pp:before { + content: "" +} + +.fa-piggy-bank:before { + content: "" +} + +.fa-pills:before { + content: "" +} + +.fa-pinterest:before { + content: "" +} + +.fa-pinterest-p:before { + content: "" +} + +.fa-pinterest-square:before { + content: "" +} + +.fa-plane:before { + content: "" +} + +.fa-plane-alt:before { + content: "" +} + +.fa-plane-arrival:before { + content: "" +} + +.fa-plane-departure:before { + content: "" +} + +.fa-play:before { + content: "" +} + +.fa-play-circle:before { + content: "" +} + +.fa-playstation:before { + content: "" +} + +.fa-plug:before { + content: "" +} + +.fa-plus:before { + content: "" +} + +.fa-plus-circle:before { + content: "" +} + +.fa-plus-hexagon:before { + content: "" +} + +.fa-plus-octagon:before { + content: "" +} + +.fa-plus-square:before { + content: "" +} + +.fa-podcast:before { + content: "" +} + +.fa-poo:before { + content: "" +} + +.fa-portrait:before { + content: "" +} + +.fa-pound-sign:before { + content: "" +} + +.fa-power-off:before { + content: "" +} + +.fa-prescription:before { + content: "" +} + +.fa-prescription-bottle:before { + content: "" +} + +.fa-prescription-bottle-alt:before { + content: "" +} + +.fa-print:before { + content: "" +} + +.fa-procedures:before { + content: "" +} + +.fa-product-hunt:before { + content: "" +} + +.fa-project-diagram:before { + content: "" +} + +.fa-pushed:before { + content: "" +} + +.fa-puzzle-piece:before { + content: "" +} + +.fa-python:before { + content: "" +} + +.fa-qq:before { + content: "" +} + +.fa-qrcode:before { + content: "" +} + +.fa-question:before { + content: "" +} + +.fa-question-circle:before { + content: "" +} + +.fa-question-square:before { + content: "" +} + +.fa-quidditch:before { + content: "" +} + +.fa-quinscape:before { + content: "" +} + +.fa-quora:before { + content: "" +} + +.fa-quote-left:before { + content: "" +} + +.fa-quote-right:before { + content: "" +} + +.fa-r-project:before { + content: "" +} + +.fa-racquet:before { + content: "" +} + +.fa-ramp-loading:before { + content: "" +} + +.fa-random:before { + content: "" +} + +.fa-ravelry:before { + content: "" +} + +.fa-react:before { + content: "" +} + +.fa-readme:before { + content: "" +} + +.fa-rebel:before { + content: "" +} + +.fa-receipt:before { + content: "" +} + +.fa-rectangle-landscape:before { + content: "" +} + +.fa-rectangle-portrait:before { + content: "" +} + +.fa-rectangle-wide:before { + content: "" +} + +.fa-recycle:before { + content: "" +} + +.fa-red-river:before { + content: "" +} + +.fa-reddit:before { + content: "" +} + +.fa-reddit-alien:before { + content: "" +} + +.fa-reddit-square:before { + content: "" +} + +.fa-redo:before { + content: "" +} + +.fa-redo-alt:before { + content: "" +} + +.fa-registered:before { + content: "" +} + +.fa-rendact:before { + content: "" +} + +.fa-renren:before { + content: "" +} + +.fa-repeat:before { + content: "" +} + +.fa-repeat-1:before { + content: "" +} + +.fa-repeat-1-alt:before { + content: "" +} + +.fa-repeat-alt:before { + content: "" +} + +.fa-reply:before { + content: "" +} + +.fa-reply-all:before { + content: "" +} + +.fa-replyd:before { + content: "" +} + +.fa-researchgate:before { + content: "" +} + +.fa-resolving:before { + content: "" +} + +.fa-retweet:before { + content: "" +} + +.fa-retweet-alt:before { + content: "" +} + +.fa-rev:before { + content: "" +} + +.fa-ribbon:before { + content: "" +} + +.fa-road:before { + content: "" +} + +.fa-robot:before { + content: "" +} + +.fa-rocket:before { + content: "" +} + +.fa-rocketchat:before { + content: "" +} + +.fa-rockrms:before { + content: "" +} + +.fa-route:before { + content: "" +} + +.fa-rss:before { + content: "" +} + +.fa-rss-square:before { + content: "" +} + +.fa-ruble-sign:before { + content: "" +} + +.fa-ruler:before { + content: "" +} + +.fa-ruler-combined:before { + content: "" +} + +.fa-ruler-horizontal:before { + content: "" +} + +.fa-ruler-vertical:before { + content: "" +} + +.fa-rupee-sign:before { + content: "" +} + +.fa-sad-cry:before { + content: "" +} + +.fa-sad-tear:before { + content: "" +} + +.fa-safari:before { + content: "" +} + +.fa-sass:before { + content: "" +} + +.fa-save:before { + content: "" +} + +.fa-scanner:before { + content: "" +} + +.fa-scanner-keyboard:before { + content: "" +} + +.fa-scanner-touchscreen:before { + content: "" +} + +.fa-schlix:before { + content: "" +} + +.fa-school:before { + content: "" +} + +.fa-screwdriver:before { + content: "" +} + +.fa-scribd:before { + content: "" +} + +.fa-scrubber:before { + content: "" +} + +.fa-search:before { + content: "" +} + +.fa-search-minus:before { + content: "" +} + +.fa-search-plus:before { + content: "" +} + +.fa-searchengin:before { + content: "" +} + +.fa-seedling:before { + content: "" +} + +.fa-sellcast:before { + content: "" +} + +.fa-sellsy:before { + content: "" +} + +.fa-server:before { + content: "" +} + +.fa-servicestack:before { + content: "" +} + +.fa-share:before { + content: "" +} + +.fa-share-all:before { + content: "" +} + +.fa-share-alt:before { + content: "" +} + +.fa-share-alt-square:before { + content: "" +} + +.fa-share-square:before { + content: "" +} + +.fa-shekel-sign:before { + content: "" +} + +.fa-shield:before { + content: "" +} + +.fa-shield-alt:before { + content: "" +} + +.fa-shield-check:before { + content: "" +} + +.fa-ship:before { + content: "" +} + +.fa-shipping-fast:before { + content: "" +} + +.fa-shipping-timed:before { + content: "" +} + +.fa-shirtsinbulk:before { + content: "" +} + +.fa-shoe-prints:before { + content: "" +} + +.fa-shopping-bag:before { + content: "" +} + +.fa-shopping-basket:before { + content: "" +} + +.fa-shopping-cart:before { + content: "" +} + +.fa-shopware:before { + content: "" +} + +.fa-shower:before { + content: "" +} + +.fa-shuttle-van:before { + content: "" +} + +.fa-shuttlecock:before { + content: "" +} + +.fa-sign:before { + content: "" +} + +.fa-sign-in:before { + content: "" +} + +.fa-sign-in-alt:before { + content: "" +} + +.fa-sign-language:before { + content: "" +} + +.fa-sign-out:before { + content: "" +} + +.fa-sign-out-alt:before { + content: "" +} + +.fa-signal:before { + content: "" +} + +.fa-signature:before { + content: "" +} + +.fa-simplybuilt:before { + content: "" +} + +.fa-sistrix:before { + content: "" +} + +.fa-sitemap:before { + content: "" +} + +.fa-sith:before { + content: "" +} + +.fa-skull:before { + content: "" +} + +.fa-skyatlas:before { + content: "" +} + +.fa-skype:before { + content: "" +} + +.fa-slack:before { + content: "" +} + +.fa-slack-hash:before { + content: "" +} + +.fa-sliders-h:before { + content: "" +} + +.fa-sliders-h-square:before { + content: "" +} + +.fa-sliders-v:before { + content: "" +} + +.fa-sliders-v-square:before { + content: "" +} + +.fa-slideshare:before { + content: "" +} + +.fa-smile:before { + content: "" +} + +.fa-smile-beam:before { + content: "" +} + +.fa-smile-plus:before { + content: "" +} + +.fa-smile-wink:before { + content: "" +} + +.fa-smoking:before { + content: "" +} + +.fa-smoking-ban:before { + content: "" +} + +.fa-snapchat:before { + content: "" +} + +.fa-snapchat-ghost:before { + content: "" +} + +.fa-snapchat-square:before { + content: "" +} + +.fa-snowflake:before { + content: "" +} + +.fa-solar-panel:before { + content: "" +} + +.fa-sort:before { + content: "" +} + +.fa-sort-alpha-down:before { + content: "" +} + +.fa-sort-alpha-up:before { + content: "" +} + +.fa-sort-amount-down:before { + content: "" +} + +.fa-sort-amount-up:before { + content: "" +} + +.fa-sort-down:before { + content: "" +} + +.fa-sort-numeric-down:before { + content: "" +} + +.fa-sort-numeric-up:before { + content: "" +} + +.fa-sort-up:before { + content: "" +} + +.fa-soundcloud:before { + content: "" +} + +.fa-spa:before { + content: "" +} + +.fa-space-shuttle:before { + content: "" +} + +.fa-spade:before { + content: "" +} + +.fa-speakap:before { + content: "" +} + +.fa-spinner:before { + content: "" +} + +.fa-spinner-third:before { + content: "" +} + +.fa-splotch:before { + content: "" +} + +.fa-spotify:before { + content: "" +} + +.fa-spray-can:before { + content: "" +} + +.fa-square:before { + content: "" +} + +.fa-square-full:before { + content: "" +} + +.fa-squarespace:before { + content: "" +} + +.fa-stack-exchange:before { + content: "" +} + +.fa-stack-overflow:before { + content: "" +} + +.fa-stamp:before { + content: "" +} + +.fa-star:before { + content: "" +} + +.fa-star-exclamation:before { + content: "" +} + +.fa-star-half:before { + content: "" +} + +.fa-star-half-alt:before { + content: "" +} + +.fa-staylinked:before { + content: "" +} + +.fa-steam:before { + content: "" +} + +.fa-steam-square:before { + content: "" +} + +.fa-steam-symbol:before { + content: "" +} + +.fa-step-backward:before { + content: "" +} + +.fa-step-forward:before { + content: "" +} + +.fa-stethoscope:before { + content: "" +} + +.fa-sticker-mule:before { + content: "" +} + +.fa-sticky-note:before { + content: "" +} + +.fa-stop:before { + content: "" +} + +.fa-stop-circle:before { + content: "" +} + +.fa-stopwatch:before { + content: "" +} + +.fa-store:before { + content: "" +} + +.fa-store-alt:before { + content: "" +} + +.fa-strava:before { + content: "" +} + +.fa-stream:before { + content: "" +} + +.fa-street-view:before { + content: "" +} + +.fa-strikethrough:before { + content: "" +} + +.fa-stripe:before { + content: "" +} + +.fa-stripe-s:before { + content: "" +} + +.fa-stroopwafel:before { + content: "" +} + +.fa-studiovinari:before { + content: "" +} + +.fa-stumbleupon:before { + content: "" +} + +.fa-stumbleupon-circle:before { + content: "" +} + +.fa-subscript:before { + content: "" +} + +.fa-subway:before { + content: "" +} + +.fa-suitcase:before { + content: "" +} + +.fa-suitcase-rolling:before { + content: "" +} + +.fa-sun:before { + content: "" +} + +.fa-superpowers:before { + content: "" +} + +.fa-superscript:before { + content: "" +} + +.fa-supple:before { + content: "" +} + +.fa-surprise:before { + content: "" +} + +.fa-swatchbook:before { + content: "" +} + +.fa-swimmer:before { + content: "" +} + +.fa-swimming-pool:before { + content: "" +} + +.fa-sync:before { + content: "" +} + +.fa-sync-alt:before { + content: "" +} + +.fa-syringe:before { + content: "" +} + +.fa-table:before { + content: "" +} + +.fa-table-tennis:before { + content: "" +} + +.fa-tablet:before { + content: "" +} + +.fa-tablet-alt:before { + content: "" +} + +.fa-tablet-android:before { + content: "" +} + +.fa-tablet-android-alt:before { + content: "" +} + +.fa-tablet-rugged:before { + content: "" +} + +.fa-tablets:before { + content: "" +} + +.fa-tachometer:before { + content: "" +} + +.fa-tachometer-alt:before { + content: "" +} + +.fa-tag:before { + content: "" +} + +.fa-tags:before { + content: "" +} + +.fa-tape:before { + content: "" +} + +.fa-tasks:before { + content: "" +} + +.fa-taxi:before { + content: "" +} + +.fa-teamspeak:before { + content: "" +} + +.fa-telegram:before { + content: "" +} + +.fa-telegram-plane:before { + content: "" +} + +.fa-tencent-weibo:before { + content: "" +} + +.fa-tennis-ball:before { + content: "" +} + +.fa-terminal:before { + content: "" +} + +.fa-text-height:before { + content: "" +} + +.fa-text-width:before { + content: "" +} + +.fa-th:before { + content: "" +} + +.fa-th-large:before { + content: "" +} + +.fa-th-list:before { + content: "" +} + +.fa-themeco:before { + content: "" +} + +.fa-themeisle:before { + content: "" +} + +.fa-thermometer:before { + content: "" +} + +.fa-thermometer-empty:before { + content: "" +} + +.fa-thermometer-full:before { + content: "" +} + +.fa-thermometer-half:before { + content: "" +} + +.fa-thermometer-quarter:before { + content: "" +} + +.fa-thermometer-three-quarters:before { + content: "" +} + +.fa-thumbs-down:before { + content: "" +} + +.fa-thumbs-up:before { + content: "" +} + +.fa-thumbtack:before { + content: "" +} + +.fa-ticket:before { + content: "" +} + +.fa-ticket-alt:before { + content: "" +} + +.fa-times:before { + content: "" +} + +.fa-times-circle:before { + content: "" +} + +.fa-times-hexagon:before { + content: "" +} + +.fa-times-octagon:before { + content: "" +} + +.fa-times-square:before { + content: "" +} + +.fa-tint:before { + content: "" +} + +.fa-tint-slash:before { + content: "" +} + +.fa-tired:before { + content: "" +} + +.fa-toggle-off:before { + content: "" +} + +.fa-toggle-on:before { + content: "" +} + +.fa-toolbox:before { + content: "" +} + +.fa-tooth:before { + content: "" +} + +.fa-trade-federation:before { + content: "" +} + +.fa-trademark:before { + content: "" +} + +.fa-train:before { + content: "" +} + +.fa-transgender:before { + content: "" +} + +.fa-transgender-alt:before { + content: "" +} + +.fa-trash:before { + content: "" +} + +.fa-trash-alt:before { + content: "" +} + +.fa-tree:before { + content: "" +} + +.fa-tree-alt:before { + content: "" +} + +.fa-trello:before { + content: "" +} + +.fa-triangle:before { + content: "" +} + +.fa-tripadvisor:before { + content: "" +} + +.fa-trophy:before { + content: "" +} + +.fa-trophy-alt:before { + content: "" +} + +.fa-truck:before { + content: "" +} + +.fa-truck-container:before { + content: "" +} + +.fa-truck-couch:before { + content: "" +} + +.fa-truck-loading:before { + content: "" +} + +.fa-truck-moving:before { + content: "" +} + +.fa-truck-ramp:before { + content: "" +} + +.fa-tshirt:before { + content: "" +} + +.fa-tty:before { + content: "" +} + +.fa-tumblr:before { + content: "" +} + +.fa-tumblr-square:before { + content: "" +} + +.fa-tv:before { + content: "" +} + +.fa-tv-retro:before { + content: "" +} + +.fa-twitch:before { + content: "" +} + +.fa-twitter:before { + content: "" +} + +.fa-twitter-square:before { + content: "" +} + +.fa-typo3:before { + content: "" +} + +.fa-uber:before { + content: "" +} + +.fa-uikit:before { + content: "" +} + +.fa-umbrella:before { + content: "" +} + +.fa-umbrella-beach:before { + content: "" +} + +.fa-underline:before { + content: "" +} + +.fa-undo:before { + content: "" +} + +.fa-undo-alt:before { + content: "" +} + +.fa-uniregistry:before { + content: "" +} + +.fa-universal-access:before { + content: "" +} + +.fa-university:before { + content: "" +} + +.fa-unlink:before { + content: "" +} + +.fa-unlock:before { + content: "" +} + +.fa-unlock-alt:before { + content: "" +} + +.fa-untappd:before { + content: "" +} + +.fa-upload:before { + content: "" +} + +.fa-usb:before { + content: "" +} + +.fa-usd-circle:before { + content: "" +} + +.fa-usd-square:before { + content: "" +} + +.fa-user:before { + content: "" +} + +.fa-user-alt:before { + content: "" +} + +.fa-user-alt-slash:before { + content: "" +} + +.fa-user-astronaut:before { + content: "" +} + +.fa-user-check:before { + content: "" +} + +.fa-user-circle:before { + content: "" +} + +.fa-user-clock:before { + content: "" +} + +.fa-user-cog:before { + content: "" +} + +.fa-user-edit:before { + content: "" +} + +.fa-user-friends:before { + content: "" +} + +.fa-user-graduate:before { + content: "" +} + +.fa-user-lock:before { + content: "" +} + +.fa-user-md:before { + content: "" +} + +.fa-user-minus:before { + content: "" +} + +.fa-user-ninja:before { + content: "" +} + +.fa-user-plus:before { + content: "" +} + +.fa-user-secret:before { + content: "" +} + +.fa-user-shield:before { + content: "" +} + +.fa-user-slash:before { + content: "" +} + +.fa-user-tag:before { + content: "" +} + +.fa-user-tie:before { + content: "" +} + +.fa-user-times:before { + content: "" +} + +.fa-users:before { + content: "" +} + +.fa-users-cog:before { + content: "" +} + +.fa-ussunnah:before { + content: "" +} + +.fa-utensil-fork:before { + content: "" +} + +.fa-utensil-knife:before { + content: "" +} + +.fa-utensil-spoon:before { + content: "" +} + +.fa-utensils:before { + content: "" +} + +.fa-utensils-alt:before { + content: "" +} + +.fa-vaadin:before { + content: "" +} + +.fa-vector-square:before { + content: "" +} + +.fa-venus:before { + content: "" +} + +.fa-venus-double:before { + content: "" +} + +.fa-venus-mars:before { + content: "" +} + +.fa-viacoin:before { + content: "" +} + +.fa-viadeo:before { + content: "" +} + +.fa-viadeo-square:before { + content: "" +} + +.fa-vial:before { + content: "" +} + +.fa-vials:before { + content: "" +} + +.fa-viber:before { + content: "" +} + +.fa-video:before { + content: "" +} + +.fa-video-plus:before { + content: "" +} + +.fa-video-slash:before { + content: "" +} + +.fa-vimeo:before { + content: "" +} + +.fa-vimeo-square:before { + content: "" +} + +.fa-vimeo-v:before { + content: "" +} + +.fa-vine:before { + content: "" +} + +.fa-vk:before { + content: "" +} + +.fa-vnv:before { + content: "" +} + +.fa-volleyball-ball:before { + content: "" +} + +.fa-volume-down:before { + content: "" +} + +.fa-volume-mute:before { + content: "" +} + +.fa-volume-off:before { + content: "" +} + +.fa-volume-up:before { + content: "" +} + +.fa-vuejs:before { + content: "" +} + +.fa-walking:before { + content: "" +} + +.fa-wallet:before { + content: "" +} + +.fa-warehouse:before { + content: "" +} + +.fa-warehouse-alt:before { + content: "" +} + +.fa-watch:before { + content: "" +} + +.fa-weebly:before { + content: "" +} + +.fa-weibo:before { + content: "" +} + +.fa-weight:before { + content: "" +} + +.fa-weight-hanging:before { + content: "" +} + +.fa-weixin:before { + content: "" +} + +.fa-whatsapp:before { + content: "" +} + +.fa-whatsapp-square:before { + content: "" +} + +.fa-wheelchair:before { + content: "" +} + +.fa-whistle:before { + content: "" +} + +.fa-whmcs:before { + content: "" +} + +.fa-wifi:before { + content: "" +} + +.fa-wikipedia-w:before { + content: "" +} + +.fa-window:before { + content: "" +} + +.fa-window-alt:before { + content: "" +} + +.fa-window-close:before { + content: "" +} + +.fa-window-maximize:before { + content: "" +} + +.fa-window-minimize:before { + content: "" +} + +.fa-window-restore:before { + content: "" +} + +.fa-windows:before { + content: "" +} + +.fa-wine-glass:before { + content: "" +} + +.fa-wine-glass-alt:before { + content: "" +} + +.fa-wix:before { + content: "" +} + +.fa-wolf-pack-battalion:before { + content: "" +} + +.fa-won-sign:before { + content: "" +} + +.fa-wordpress:before { + content: "" +} + +.fa-wordpress-simple:before { + content: "" +} + +.fa-wpbeginner:before { + content: "" +} + +.fa-wpexplorer:before { + content: "" +} + +.fa-wpforms:before { + content: "" +} + +.fa-wrench:before { + content: "" +} + +.fa-x-ray:before { + content: "" +} + +.fa-xbox:before { + content: "" +} + +.fa-xing:before { + content: "" +} + +.fa-xing-square:before { + content: "" +} + +.fa-y-combinator:before { + content: "" +} + +.fa-yahoo:before { + content: "" +} + +.fa-yandex:before { + content: "" +} + +.fa-yandex-international:before { + content: "" +} + +.fa-yelp:before { + content: "" +} + +.fa-yen-sign:before { + content: "" +} + +.fa-yoast:before { + content: "" +} + +.fa-youtube:before { + content: "" +} + +.fa-youtube-square:before { + content: "" +} + +.fa-lg { + font-size: 1.3333333333em; + line-height: 0.75em; + vertical-align: -.0667em +} + +.fa-xs { + font-size: .75em +} + +.fa-sm { + font-size: .875em +} + +.fa-1x { + font-size: 1em +} + +.fa-2x { + font-size: 2em +} + +.fa-3x { + font-size: 3em +} + +.fa-4x { + font-size: 4em +} + +.fa-5x { + font-size: 5em +} + +.fa-6x { + font-size: 6em +} + +.fa-7x { + font-size: 7em +} + +.fa-8x { + font-size: 8em +} + +.fa-9x { + font-size: 9em +} + +.fa-10x { + font-size: 10em +} + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0 +} + +.fa-ul>li { + position: relative +} + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit +} + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + transform: rotate(90deg) +} + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + transform: rotate(180deg) +} + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + transform: rotate(270deg) +} + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + transform: scale(-1, 1) +} + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + transform: scale(1, -1) +} + +.fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + transform: scale(-1, -1) +} + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none +} + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto +} + +.fa.fa-glass:before { + content: "" +} + +.fa.fa-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-star-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-star-o:before { + content: "" +} + +.fa.fa-remove:before { + content: "" +} + +.fa.fa-close:before { + content: "" +} + +.fa.fa-gear:before { + content: "" +} + +.fa.fa-trash-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-trash-o:before { + content: "" +} + +.fa.fa-file-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-o:before { + content: "" +} + +.fa.fa-clock-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-clock-o:before { + content: "" +} + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-down:before { + content: "" +} + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-up:before { + content: "" +} + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-play-circle-o:before { + content: "" +} + +.fa.fa-repeat:before { + content: "" +} + +.fa.fa-rotate-right:before { + content: "" +} + +.fa.fa-refresh:before { + content: "" +} + +.fa.fa-list-alt { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-dedent:before { + content: "" +} + +.fa.fa-video-camera:before { + content: "" +} + +.fa.fa-picture-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-picture-o:before { + content: "" +} + +.fa.fa-photo { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-photo:before { + content: "" +} + +.fa.fa-image { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-image:before { + content: "" +} + +.fa.fa-pencil:before { + content: "" +} + +.fa.fa-map-marker:before { + content: "" +} + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-pencil-square-o:before { + content: "" +} + +.fa.fa-share-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-share-square-o:before { + content: "" +} + +.fa.fa-check-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-check-square-o:before { + content: "" +} + +.fa.fa-arrows:before { + content: "" +} + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-times-circle-o:before { + content: "" +} + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-check-circle-o:before { + content: "" +} + +.fa.fa-mail-forward:before { + content: "" +} + +.fa.fa-eye { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-eye-slash { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-warning:before { + content: "" +} + +.fa.fa-calendar:before { + content: "" +} + +.fa.fa-arrows-v:before { + content: "" +} + +.fa.fa-arrows-h:before { + content: "" +} + +.fa.fa-bar-chart { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bar-chart:before { + content: "" +} + +.fa.fa-bar-chart-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bar-chart-o:before { + content: "" +} + +.fa.fa-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gears:before { + content: "" +} + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-thumbs-o-up:before { + content: "" +} + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-thumbs-o-down:before { + content: "" +} + +.fa.fa-heart-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-heart-o:before { + content: "" +} + +.fa.fa-sign-out:before { + content: "" +} + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-linkedin-square:before { + content: "" +} + +.fa.fa-thumb-tack:before { + content: "" +} + +.fa.fa-external-link:before { + content: "" +} + +.fa.fa-sign-in:before { + content: "" +} + +.fa.fa-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-lemon-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-lemon-o:before { + content: "" +} + +.fa.fa-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-square-o:before { + content: "" +} + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bookmark-o:before { + content: "" +} + +.fa.fa-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook:before { + content: "" +} + +.fa.fa-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook-f:before { + content: "" +} + +.fa.fa-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-credit-card { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-feed:before { + content: "" +} + +.fa.fa-hdd-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hdd-o:before { + content: "" +} + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-o-right:before { + content: "" +} + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-o-left:before { + content: "" +} + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-o-up:before { + content: "" +} + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-o-down:before { + content: "" +} + +.fa.fa-arrows-alt:before { + content: "" +} + +.fa.fa-group:before { + content: "" +} + +.fa.fa-chain:before { + content: "" +} + +.fa.fa-scissors:before { + content: "" +} + +.fa.fa-files-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-files-o:before { + content: "" +} + +.fa.fa-floppy-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-floppy-o:before { + content: "" +} + +.fa.fa-navicon:before { + content: "" +} + +.fa.fa-reorder:before { + content: "" +} + +.fa.fa-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus:before { + content: "" +} + +.fa.fa-money { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-money:before { + content: "" +} + +.fa.fa-unsorted:before { + content: "" +} + +.fa.fa-sort-desc:before { + content: "" +} + +.fa.fa-sort-asc:before { + content: "" +} + +.fa.fa-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-linkedin:before { + content: "" +} + +.fa.fa-rotate-left:before { + content: "" +} + +.fa.fa-legal:before { + content: "" +} + +.fa.fa-tachometer:before { + content: "" +} + +.fa.fa-dashboard:before { + content: "" +} + +.fa.fa-comment-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-comment-o:before { + content: "" +} + +.fa.fa-comments-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-comments-o:before { + content: "" +} + +.fa.fa-flash:before { + content: "" +} + +.fa.fa-clipboard { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-paste { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-paste:before { + content: "" +} + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-lightbulb-o:before { + content: "" +} + +.fa.fa-exchange:before { + content: "" +} + +.fa.fa-cloud-download:before { + content: "" +} + +.fa.fa-cloud-upload:before { + content: "" +} + +.fa.fa-bell-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bell-o:before { + content: "" +} + +.fa.fa-cutlery:before { + content: "" +} + +.fa.fa-file-text-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-text-o:before { + content: "" +} + +.fa.fa-building-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-building-o:before { + content: "" +} + +.fa.fa-hospital-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hospital-o:before { + content: "" +} + +.fa.fa-tablet:before { + content: "" +} + +.fa.fa-mobile:before { + content: "" +} + +.fa.fa-mobile-phone:before { + content: "" +} + +.fa.fa-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-circle-o:before { + content: "" +} + +.fa.fa-mail-reply:before { + content: "" +} + +.fa.fa-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-folder-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-folder-o:before { + content: "" +} + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-folder-open-o:before { + content: "" +} + +.fa.fa-smile-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-smile-o:before { + content: "" +} + +.fa.fa-frown-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-frown-o:before { + content: "" +} + +.fa.fa-meh-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-meh-o:before { + content: "" +} + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-keyboard-o:before { + content: "" +} + +.fa.fa-flag-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-flag-o:before { + content: "" +} + +.fa.fa-mail-reply-all:before { + content: "" +} + +.fa.fa-star-half-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-star-half-o:before { + content: "" +} + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-star-half-empty:before { + content: "" +} + +.fa.fa-star-half-full { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-star-half-full:before { + content: "" +} + +.fa.fa-code-fork:before { + content: "" +} + +.fa.fa-chain-broken:before { + content: "" +} + +.fa.fa-shield:before { + content: "" +} + +.fa.fa-calendar-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-o:before { + content: "" +} + +.fa.fa-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ticket:before { + content: "" +} + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-minus-square-o:before { + content: "" +} + +.fa.fa-level-up:before { + content: "" +} + +.fa.fa-level-down:before { + content: "" +} + +.fa.fa-pencil-square:before { + content: "" +} + +.fa.fa-external-link-square:before { + content: "" +} + +.fa.fa-compass { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-down:before { + content: "" +} + +.fa.fa-toggle-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-toggle-down:before { + content: "" +} + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-up:before { + content: "" +} + +.fa.fa-toggle-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-toggle-up:before { + content: "" +} + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-right:before { + content: "" +} + +.fa.fa-toggle-right { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-toggle-right:before { + content: "" +} + +.fa.fa-eur:before { + content: "" +} + +.fa.fa-euro:before { + content: "" +} + +.fa.fa-gbp:before { + content: "" +} + +.fa.fa-usd:before { + content: "" +} + +.fa.fa-dollar:before { + content: "" +} + +.fa.fa-inr:before { + content: "" +} + +.fa.fa-rupee:before { + content: "" +} + +.fa.fa-jpy:before { + content: "" +} + +.fa.fa-cny:before { + content: "" +} + +.fa.fa-rmb:before { + content: "" +} + +.fa.fa-yen:before { + content: "" +} + +.fa.fa-rub:before { + content: "" +} + +.fa.fa-ruble:before { + content: "" +} + +.fa.fa-rouble:before { + content: "" +} + +.fa.fa-krw:before { + content: "" +} + +.fa.fa-won:before { + content: "" +} + +.fa.fa-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitcoin:before { + content: "" +} + +.fa.fa-file-text:before { + content: "" +} + +.fa.fa-sort-alpha-asc:before { + content: "" +} + +.fa.fa-sort-alpha-desc:before { + content: "" +} + +.fa.fa-sort-amount-asc:before { + content: "" +} + +.fa.fa-sort-amount-desc:before { + content: "" +} + +.fa.fa-sort-numeric-asc:before { + content: "" +} + +.fa.fa-sort-numeric-desc:before { + content: "" +} + +.fa.fa-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-youtube-play:before { + content: "" +} + +.fa.fa-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitbucket-square:before { + content: "" +} + +.fa.fa-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-long-arrow-down:before { + content: "" +} + +.fa.fa-long-arrow-up:before { + content: "" +} + +.fa.fa-long-arrow-left:before { + content: "" +} + +.fa.fa-long-arrow-right:before { + content: "" +} + +.fa.fa-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gittip:before { + content: "" +} + +.fa.fa-sun-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-sun-o:before { + content: "" +} + +.fa.fa-moon-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-moon-o:before { + content: "" +} + +.fa.fa-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-right:before { + content: "" +} + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-left:before { + content: "" +} + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-left:before { + content: "" +} + +.fa.fa-toggle-left { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-toggle-left:before { + content: "" +} + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-dot-circle-o:before { + content: "" +} + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-try:before { + content: "" +} + +.fa.fa-turkish-lira:before { + content: "" +} + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-plus-square-o:before { + content: "" +} + +.fa.fa-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-institution:before { + content: "" +} + +.fa.fa-bank:before { + content: "" +} + +.fa.fa-mortar-board:before { + content: "" +} + +.fa.fa-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-spoon:before { + content: "" +} + +.fa.fa-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-automobile:before { + content: "" +} + +.fa.fa-cab:before { + content: "" +} + +.fa.fa-envelope-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-envelope-o:before { + content: "" +} + +.fa.fa-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-pdf-o:before { + content: "" +} + +.fa.fa-file-word-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-word-o:before { + content: "" +} + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-excel-o:before { + content: "" +} + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-powerpoint-o:before { + content: "" +} + +.fa.fa-file-image-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-image-o:before { + content: "" +} + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-photo-o:before { + content: "" +} + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-picture-o:before { + content: "" +} + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-archive-o:before { + content: "" +} + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-zip-o:before { + content: "" +} + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-audio-o:before { + content: "" +} + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-sound-o:before { + content: "" +} + +.fa.fa-file-video-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-video-o:before { + content: "" +} + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-movie-o:before { + content: "" +} + +.fa.fa-file-code-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-code-o:before { + content: "" +} + +.fa.fa-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-life-ring { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-life-bouy { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-life-bouy:before { + content: "" +} + +.fa.fa-life-buoy { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-life-buoy:before { + content: "" +} + +.fa.fa-life-saver { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-life-saver:before { + content: "" +} + +.fa.fa-support { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-support:before { + content: "" +} + +.fa.fa-circle-o-notch:before { + content: "" +} + +.fa.fa-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ra:before { + content: "" +} + +.fa.fa-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-resistance:before { + content: "" +} + +.fa.fa-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ge:before { + content: "" +} + +.fa.fa-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-y-combinator-square:before { + content: "" +} + +.fa.fa-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yc-square:before { + content: "" +} + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wechat:before { + content: "" +} + +.fa.fa-send:before { + content: "" +} + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-paper-plane-o:before { + content: "" +} + +.fa.fa-send-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-send-o:before { + content: "" +} + +.fa.fa-circle-thin { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-circle-thin:before { + content: "" +} + +.fa.fa-header:before { + content: "" +} + +.fa.fa-sliders:before { + content: "" +} + +.fa.fa-futbol-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-futbol-o:before { + content: "" +} + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-soccer-ball-o:before { + content: "" +} + +.fa.fa-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-newspaper-o:before { + content: "" +} + +.fa.fa-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bell-slash-o:before { + content: "" +} + +.fa.fa-trash:before { + content: "" +} + +.fa.fa-copyright { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-eyedropper:before { + content: "" +} + +.fa.fa-area-chart:before { + content: "" +} + +.fa.fa-pie-chart:before { + content: "" +} + +.fa.fa-line-chart:before { + content: "" +} + +.fa.fa-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-cc:before { + content: "" +} + +.fa.fa-ils:before { + content: "" +} + +.fa.fa-shekel:before { + content: "" +} + +.fa.fa-sheqel:before { + content: "" +} + +.fa.fa-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-meanpath:before { + content: "" +} + +.fa.fa-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-diamond { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-diamond:before { + content: "" +} + +.fa.fa-intersex:before { + content: "" +} + +.fa.fa-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook-official:before { + content: "" +} + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-hotel:before { + content: "" +} + +.fa.fa-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yc:before { + content: "" +} + +.fa.fa-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-battery-4:before { + content: "" +} + +.fa.fa-battery:before { + content: "" +} + +.fa.fa-battery-3:before { + content: "" +} + +.fa.fa-battery-2:before { + content: "" +} + +.fa.fa-battery-1:before { + content: "" +} + +.fa.fa-battery-0:before { + content: "" +} + +.fa.fa-object-group { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-sticky-note-o:before { + content: "" +} + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-clone { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hourglass-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hourglass-o:before { + content: "" +} + +.fa.fa-hourglass-1:before { + content: "" +} + +.fa.fa-hourglass-2:before { + content: "" +} + +.fa.fa-hourglass-3:before { + content: "" +} + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-rock-o:before { + content: "" +} + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-grab-o:before { + content: "" +} + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-paper-o:before { + content: "" +} + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-stop-o:before { + content: "" +} + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-scissors-o:before { + content: "" +} + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-lizard-o:before { + content: "" +} + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-spock-o:before { + content: "" +} + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-pointer-o:before { + content: "" +} + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-peace-o:before { + content: "" +} + +.fa.fa-registered { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-television:before { + content: "" +} + +.fa.fa-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-plus-o:before { + content: "" +} + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-minus-o:before { + content: "" +} + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-times-o:before { + content: "" +} + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-check-o:before { + content: "" +} + +.fa.fa-map-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-map-o:before { + content: "" +} + +.fa.fa-commenting { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-commenting:before { + content: "" +} + +.fa.fa-commenting-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-commenting-o:before { + content: "" +} + +.fa.fa-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-vimeo:before { + content: "" +} + +.fa.fa-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-credit-card-alt:before { + content: "" +} + +.fa.fa-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-pause-circle-o:before { + content: "" +} + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-stop-circle-o:before { + content: "" +} + +.fa.fa-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wheelchair-alt:before { + content: "" +} + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-question-circle-o:before { + content: "" +} + +.fa.fa-volume-control-phone:before { + content: "" +} + +.fa.fa-asl-interpreting:before { + content: "" +} + +.fa.fa-deafness:before { + content: "" +} + +.fa.fa-hard-of-hearing:before { + content: "" +} + +.fa.fa-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-signing:before { + content: "" +} + +.fa.fa-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus-official:before { + content: "" +} + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus-circle:before { + content: "" +} + +.fa.fa-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-fa:before { + content: "" +} + +.fa.fa-handshake-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-handshake-o:before { + content: "" +} + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-envelope-open-o:before { + content: "" +} + +.fa.fa-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-address-book-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-address-book-o:before { + content: "" +} + +.fa.fa-vcard:before { + content: "" +} + +.fa.fa-address-card-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-address-card-o:before { + content: "" +} + +.fa.fa-vcard-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-vcard-o:before { + content: "" +} + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-user-circle-o:before { + content: "" +} + +.fa.fa-user-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-user-o:before { + content: "" +} + +.fa.fa-id-badge { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-drivers-license:before { + content: "" +} + +.fa.fa-id-card-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-id-card-o:before { + content: "" +} + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-drivers-license-o:before { + content: "" +} + +.fa.fa-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-thermometer-4:before { + content: "" +} + +.fa.fa-thermometer:before { + content: "" +} + +.fa.fa-thermometer-3:before { + content: "" +} + +.fa.fa-thermometer-2:before { + content: "" +} + +.fa.fa-thermometer-1:before { + content: "" +} + +.fa.fa-thermometer-0:before { + content: "" +} + +.fa.fa-bathtub:before { + content: "" +} + +.fa.fa-s15:before { + content: "" +} + +.fa.fa-window-maximize { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-window-restore { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-times-rectangle:before { + content: "" +} + +.fa.fa-window-close-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-window-close-o:before { + content: "" +} + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-times-rectangle-o:before { + content: "" +} + +.fa.fa-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-eercast:before { + content: "" +} + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-snowflake-o:before { + content: "" +} + +.fa.fa-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2em +} + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100% +} + +.fa-stack-1x { + line-height: inherit +} + +.fa-stack-2x { + font-size: 2em +} + +.fa-inverse { + color: #fff +} + +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: normal; + src: "/assets/fa-brands-400-9f94361a07061c7b04e404d624181ea5ca3c1446910b0e7d72a251e6ce60c9a2.eot"; + src: "/assets/fa-brands-400-9f94361a07061c7b04e404d624181ea5ca3c1446910b0e7d72a251e6ce60c9a2.eot?#iefix" format("embedded-opentype"), "/assets/fa-brands-400-c99447c0467a6686ac287c918f58863746f4a110da909e45d3e40e110d1d2e0f.woff2" format("woff2"), "/assets/fa-brands-400-353a87646b1c34dcc2dc840b0cf41faacc03515f8f5c796191b2f9b1bad8b18d.woff" format("woff"), "/assets/fa-brands-400-53149c5bc7f284d402f6f50e55932fdd239b326d845e836678e5048a7f6561dd.ttf" format("truetype"), "/assets/fa-brands-400-0007dcca9aa9fd33f6ed8df084616f2fe94a3fbc8420e1367f81ee6ec62a5199.svg#fontawesome" format("svg") +} + +.fab { + font-family: 'Font Awesome 5 Brands' +} + +@font-face { + font-family: 'Font Awesome 5 Pro'; + font-style: normal; + font-weight: 300; + src: url(/assets/fa-light-300-9fb46f5a85e51bf850b2cb97ca9557d22849ce1e1e6a01b161874cc619b9febc.eot); + src: url(/assets/fa-light-300-9fb46f5a85e51bf850b2cb97ca9557d22849ce1e1e6a01b161874cc619b9febc.eot?#iefix) format("embedded-opentype"), url(/assets/fa-light-300-2f3d5fef7692918616eaa963e436ca2e166a6a446d6162f4d68734b145cc4625.woff2) format("woff2"), url(/assets/fa-light-300-d5d2d17ac67553007b5eabb25b61d8847d0a55738b81288b1199a47b46b82373.woff) format("woff"), url(/assets/fa-light-300-2c698027c82576f0b31f101dca4b8f11aea237a45deb96eb3162c26508e68d1d.ttf) format("truetype"), url(/assets/fa-light-300-13483c4c8a65347d0d3ae633df88dcff39829b0ab11a4dd4d705bb7c36234627.svg#fontawesome) format("svg") +} + +.fal { + font-family: 'Font Awesome 5 Pro'; + font-weight: 300 +} + +@font-face { + font-family: 'Font Awesome 5 Pro'; + font-style: normal; + font-weight: 400; + src: "/assets/fa-regular-400-6eda5a7056f9f760de7bf5602e6b80a5714ba2bc3d4478181029e392b637675e.eot"; + src: "/assets/fa-regular-400-6eda5a7056f9f760de7bf5602e6b80a5714ba2bc3d4478181029e392b637675e.eot?#iefix" format("embedded-opentype"), "/assets/fa-regular-400-71b95feb5096d4e3f1638a20e890e424479e08bcacaf2f68275efd8e147b44de.woff2" format("woff2"), "/assets/fa-regular-400-5aec6993b03c9ae16d2c94710a2b3eea73a0ac8c3dacc167782706f159fb3f75.woff" format("woff"), "/assets/fa-regular-400-3255769416faa576f0ffde1be78325e94ec4a7b216f9a7a298a3100a0e1e160b.ttf" format("truetype"), "/assets/fa-regular-400-c288add996e387aebde760e1d60afa781fb2d765c5cb588d0499e2ca1f809361.svg#fontawesome" format("svg") +} + +.far { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +@font-face { + font-family: 'Font Awesome 5 Pro'; + font-style: normal; + font-weight: 900; + src: "/assets/fa-solid-900-dee190719cd2d52e761838a6437c2cf09a41b2f028f7e4fb9577ae19f8a56cb7.eot"; + src: "/assets/fa-solid-900-dee190719cd2d52e761838a6437c2cf09a41b2f028f7e4fb9577ae19f8a56cb7.eot?#iefix" format("embedded-opentype"), "/assets/fa-solid-900-64407fa171e20487909571bc6d3410778aa012c6891893cde58f09d3f2d8b827.woff2" format("woff2"), "/assets/fa-solid-900-ef13a1fec416abda5d02165a140a557d459e6fa929146242bf3e8ba687533f4c.woff" format("woff"), "/assets/fa-solid-900-4844a0ecb8cddce71f5e72e43f0705dec934615ccad482c25202198068bdf824.ttf" format("truetype"), "/assets/fa-solid-900-5d76136e3ca82f5cd9f3726f948ef9712df6b2f48fe650c684a22f7baddc5ede.svg#fontawesome" format("svg") +} + +.fa, +.fas { + font-family: 'Font Awesome 5 Pro'; + font-weight: 900 +} + +/*! +* Font Awesome Pro 5.1.0 by @fontawesome - https://fontawesome.com +* License - https://fontawesome.com/license (Commercial License) +*/ +.fa, +.fas, +.far, +.fal, +.fab { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1 +} + +.fa-lg { + font-size: 1.3333333333em; + line-height: 0.75em; + vertical-align: -.0667em +} + +.fa-xs { + font-size: .75em +} + +.fa-sm { + font-size: .875em +} + +.fa-1x { + font-size: 1em +} + +.fa-2x { + font-size: 2em +} + +.fa-3x { + font-size: 3em +} + +.fa-4x { + font-size: 4em +} + +.fa-5x { + font-size: 5em +} + +.fa-6x { + font-size: 6em +} + +.fa-7x { + font-size: 7em +} + +.fa-8x { + font-size: 8em +} + +.fa-9x { + font-size: 9em +} + +.fa-10x { + font-size: 10em +} + +.fa-fw { + text-align: center; + width: 1.25em +} + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0 +} + +.fa-ul>li { + position: relative +} + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit +} + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em +} + +.fa-pull-left { + float: left +} + +.fa-pull-right { + float: right +} + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em +} + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em +} + +.fa-spin { + animation: fa-spin 2s infinite linear +} + +.fa-pulse { + animation: fa-spin 1s infinite steps(8) +} + +@keyframes fa-spin { + 0% { + transform: rotate(0deg) + } + + 100% { + transform: rotate(360deg) + } +} + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + transform: rotate(90deg) +} + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + transform: rotate(180deg) +} + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + transform: rotate(270deg) +} + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + transform: scale(-1, 1) +} + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + transform: scale(1, -1) +} + +.fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + transform: scale(-1, -1) +} + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none +} + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2em +} + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100% +} + +.fa-stack-1x { + line-height: inherit +} + +.fa-stack-2x { + font-size: 2em +} + +.fa-inverse { + color: #fff +} + +.fa-500px:before { + content: "" +} + +.fa-accessible-icon:before { + content: "" +} + +.fa-accusoft:before { + content: "" +} + +.fa-address-book:before { + content: "" +} + +.fa-address-card:before { + content: "" +} + +.fa-adjust:before { + content: "" +} + +.fa-adn:before { + content: "" +} + +.fa-adversal:before { + content: "" +} + +.fa-affiliatetheme:before { + content: "" +} + +.fa-alarm-clock:before { + content: "" +} + +.fa-algolia:before { + content: "" +} + +.fa-align-center:before { + content: "" +} + +.fa-align-justify:before { + content: "" +} + +.fa-align-left:before { + content: "" +} + +.fa-align-right:before { + content: "" +} + +.fa-allergies:before { + content: "" +} + +.fa-amazon:before { + content: "" +} + +.fa-amazon-pay:before { + content: "" +} + +.fa-ambulance:before { + content: "" +} + +.fa-american-sign-language-interpreting:before { + content: "" +} + +.fa-amilia:before { + content: "" +} + +.fa-anchor:before { + content: "" +} + +.fa-android:before { + content: "" +} + +.fa-angellist:before { + content: "" +} + +.fa-angle-double-down:before { + content: "" +} + +.fa-angle-double-left:before { + content: "" +} + +.fa-angle-double-right:before { + content: "" +} + +.fa-angle-double-up:before { + content: "" +} + +.fa-angle-down:before { + content: "" +} + +.fa-angle-left:before { + content: "" +} + +.fa-angle-right:before { + content: "" +} + +.fa-angle-up:before { + content: "" +} + +.fa-angry:before { + content: "" +} + +.fa-angrycreative:before { + content: "" +} + +.fa-angular:before { + content: "" +} + +.fa-app-store:before { + content: "" +} + +.fa-app-store-ios:before { + content: "" +} + +.fa-apper:before { + content: "" +} + +.fa-apple:before { + content: "" +} + +.fa-apple-pay:before { + content: "" +} + +.fa-archive:before { + content: "" +} + +.fa-archway:before { + content: "" +} + +.fa-arrow-alt-circle-down:before { + content: "" +} + +.fa-arrow-alt-circle-left:before { + content: "" +} + +.fa-arrow-alt-circle-right:before { + content: "" +} + +.fa-arrow-alt-circle-up:before { + content: "" +} + +.fa-arrow-alt-down:before { + content: "" +} + +.fa-arrow-alt-from-bottom:before { + content: "" +} + +.fa-arrow-alt-from-left:before { + content: "" +} + +.fa-arrow-alt-from-right:before { + content: "" +} + +.fa-arrow-alt-from-top:before { + content: "" +} + +.fa-arrow-alt-left:before { + content: "" +} + +.fa-arrow-alt-right:before { + content: "" +} + +.fa-arrow-alt-square-down:before { + content: "" +} + +.fa-arrow-alt-square-left:before { + content: "" +} + +.fa-arrow-alt-square-right:before { + content: "" +} + +.fa-arrow-alt-square-up:before { + content: "" +} + +.fa-arrow-alt-to-bottom:before { + content: "" +} + +.fa-arrow-alt-to-left:before { + content: "" +} + +.fa-arrow-alt-to-right:before { + content: "" +} + +.fa-arrow-alt-to-top:before { + content: "" +} + +.fa-arrow-alt-up:before { + content: "" +} + +.fa-arrow-circle-down:before { + content: "" +} + +.fa-arrow-circle-left:before { + content: "" +} + +.fa-arrow-circle-right:before { + content: "" +} + +.fa-arrow-circle-up:before { + content: "" +} + +.fa-arrow-down:before { + content: "" +} + +.fa-arrow-from-bottom:before { + content: "" +} + +.fa-arrow-from-left:before { + content: "" +} + +.fa-arrow-from-right:before { + content: "" +} + +.fa-arrow-from-top:before { + content: "" +} + +.fa-arrow-left:before { + content: "" +} + +.fa-arrow-right:before { + content: "" +} + +.fa-arrow-square-down:before { + content: "" +} + +.fa-arrow-square-left:before { + content: "" +} + +.fa-arrow-square-right:before { + content: "" +} + +.fa-arrow-square-up:before { + content: "" +} + +.fa-arrow-to-bottom:before { + content: "" +} + +.fa-arrow-to-left:before { + content: "" +} + +.fa-arrow-to-right:before { + content: "" +} + +.fa-arrow-to-top:before { + content: "" +} + +.fa-arrow-up:before { + content: "" +} + +.fa-arrows:before { + content: "" +} + +.fa-arrows-alt:before { + content: "" +} + +.fa-arrows-alt-h:before { + content: "" +} + +.fa-arrows-alt-v:before { + content: "" +} + +.fa-arrows-h:before { + content: "" +} + +.fa-arrows-v:before { + content: "" +} + +.fa-assistive-listening-systems:before { + content: "" +} + +.fa-asterisk:before { + content: "" +} + +.fa-asymmetrik:before { + content: "" +} + +.fa-at:before { + content: "" +} + +.fa-atlas:before { + content: "" +} + +.fa-audible:before { + content: "" +} + +.fa-audio-description:before { + content: "" +} + +.fa-autoprefixer:before { + content: "" +} + +.fa-avianex:before { + content: "" +} + +.fa-aviato:before { + content: "" +} + +.fa-award:before { + content: "" +} + +.fa-aws:before { + content: "" +} + +.fa-backspace:before { + content: "" +} + +.fa-backward:before { + content: "" +} + +.fa-badge:before { + content: "" +} + +.fa-badge-check:before { + content: "" +} + +.fa-balance-scale:before { + content: "" +} + +.fa-balance-scale-left:before { + content: "" +} + +.fa-balance-scale-right:before { + content: "" +} + +.fa-ban:before { + content: "" +} + +.fa-band-aid:before { + content: "" +} + +.fa-bandcamp:before { + content: "" +} + +.fa-barcode:before { + content: "" +} + +.fa-barcode-alt:before { + content: "" +} + +.fa-barcode-read:before { + content: "" +} + +.fa-barcode-scan:before { + content: "" +} + +.fa-bars:before { + content: "" +} + +.fa-baseball:before { + content: "" +} + +.fa-baseball-ball:before { + content: "" +} + +.fa-basketball-ball:before { + content: "" +} + +.fa-basketball-hoop:before { + content: "" +} + +.fa-bath:before { + content: "" +} + +.fa-battery-bolt:before { + content: "" +} + +.fa-battery-empty:before { + content: "" +} + +.fa-battery-full:before { + content: "" +} + +.fa-battery-half:before { + content: "" +} + +.fa-battery-quarter:before { + content: "" +} + +.fa-battery-slash:before { + content: "" +} + +.fa-battery-three-quarters:before { + content: "" +} + +.fa-bed:before { + content: "" +} + +.fa-beer:before { + content: "" +} + +.fa-behance:before { + content: "" +} + +.fa-behance-square:before { + content: "" +} + +.fa-bell:before { + content: "" +} + +.fa-bell-slash:before { + content: "" +} + +.fa-bezier-curve:before { + content: "" +} + +.fa-bicycle:before { + content: "" +} + +.fa-bimobject:before { + content: "" +} + +.fa-binoculars:before { + content: "" +} + +.fa-birthday-cake:before { + content: "" +} + +.fa-bitbucket:before { + content: "" +} + +.fa-bitcoin:before { + content: "" +} + +.fa-bity:before { + content: "" +} + +.fa-black-tie:before { + content: "" +} + +.fa-blackberry:before { + content: "" +} + +.fa-blanket:before { + content: "" +} + +.fa-blender:before { + content: "" +} + +.fa-blind:before { + content: "" +} + +.fa-blogger:before { + content: "" +} + +.fa-blogger-b:before { + content: "" +} + +.fa-bluetooth:before { + content: "" +} + +.fa-bluetooth-b:before { + content: "" +} + +.fa-bold:before { + content: "" +} + +.fa-bolt:before { + content: "" +} + +.fa-bomb:before { + content: "" +} + +.fa-bong:before { + content: "" +} + +.fa-book:before { + content: "" +} + +.fa-book-heart:before { + content: "" +} + +.fa-book-open:before { + content: "" +} + +.fa-bookmark:before { + content: "" +} + +.fa-bowling-ball:before { + content: "" +} + +.fa-bowling-pins:before { + content: "" +} + +.fa-box:before { + content: "" +} + +.fa-box-alt:before { + content: "" +} + +.fa-box-check:before { + content: "" +} + +.fa-box-fragile:before { + content: "" +} + +.fa-box-full:before { + content: "" +} + +.fa-box-heart:before { + content: "" +} + +.fa-box-open:before { + content: "" +} + +.fa-box-up:before { + content: "" +} + +.fa-box-usd:before { + content: "" +} + +.fa-boxes:before { + content: "" +} + +.fa-boxes-alt:before { + content: "" +} + +.fa-boxing-glove:before { + content: "" +} + +.fa-braille:before { + content: "" +} + +.fa-briefcase:before { + content: "" +} + +.fa-briefcase-medical:before { + content: "" +} + +.fa-broadcast-tower:before { + content: "" +} + +.fa-broom:before { + content: "" +} + +.fa-browser:before { + content: "" +} + +.fa-brush:before { + content: "" +} + +.fa-btc:before { + content: "" +} + +.fa-bug:before { + content: "" +} + +.fa-building:before { + content: "" +} + +.fa-bullhorn:before { + content: "" +} + +.fa-bullseye:before { + content: "" +} + +.fa-burn:before { + content: "" +} + +.fa-buromobelexperte:before { + content: "" +} + +.fa-bus:before { + content: "" +} + +.fa-bus-alt:before { + content: "" +} + +.fa-buysellads:before { + content: "" +} + +.fa-calculator:before { + content: "" +} + +.fa-calendar:before { + content: "" +} + +.fa-calendar-alt:before { + content: "" +} + +.fa-calendar-check:before { + content: "" +} + +.fa-calendar-edit:before { + content: "" +} + +.fa-calendar-exclamation:before { + content: "" +} + +.fa-calendar-minus:before { + content: "" +} + +.fa-calendar-plus:before { + content: "" +} + +.fa-calendar-times:before { + content: "" +} + +.fa-camera:before { + content: "" +} + +.fa-camera-alt:before { + content: "" +} + +.fa-camera-retro:before { + content: "" +} + +.fa-cannabis:before { + content: "" +} + +.fa-capsules:before { + content: "" +} + +.fa-car:before { + content: "" +} + +.fa-caret-circle-down:before { + content: "" +} + +.fa-caret-circle-left:before { + content: "" +} + +.fa-caret-circle-right:before { + content: "" +} + +.fa-caret-circle-up:before { + content: "" +} + +.fa-caret-down:before { + content: "" +} + +.fa-caret-left:before { + content: "" +} + +.fa-caret-right:before { + content: "" +} + +.fa-caret-square-down:before { + content: "" +} + +.fa-caret-square-left:before { + content: "" +} + +.fa-caret-square-right:before { + content: "" +} + +.fa-caret-square-up:before { + content: "" +} + +.fa-caret-up:before { + content: "" +} + +.fa-cart-arrow-down:before { + content: "" +} + +.fa-cart-plus:before { + content: "" +} + +.fa-cc-amazon-pay:before { + content: "" +} + +.fa-cc-amex:before { + content: "" +} + +.fa-cc-apple-pay:before { + content: "" +} + +.fa-cc-diners-club:before { + content: "" +} + +.fa-cc-discover:before { + content: "" +} + +.fa-cc-jcb:before { + content: "" +} + +.fa-cc-mastercard:before { + content: "" +} + +.fa-cc-paypal:before { + content: "" +} + +.fa-cc-stripe:before { + content: "" +} + +.fa-cc-visa:before { + content: "" +} + +.fa-centercode:before { + content: "" +} + +.fa-certificate:before { + content: "" +} + +.fa-chalkboard:before { + content: "" +} + +.fa-chalkboard-teacher:before { + content: "" +} + +.fa-chart-area:before { + content: "" +} + +.fa-chart-bar:before { + content: "" +} + +.fa-chart-line:before { + content: "" +} + +.fa-chart-pie:before { + content: "" +} + +.fa-check:before { + content: "" +} + +.fa-check-circle:before { + content: "" +} + +.fa-check-double:before { + content: "" +} + +.fa-check-square:before { + content: "" +} + +.fa-chess:before { + content: "" +} + +.fa-chess-bishop:before { + content: "" +} + +.fa-chess-bishop-alt:before { + content: "" +} + +.fa-chess-board:before { + content: "" +} + +.fa-chess-clock:before { + content: "" +} + +.fa-chess-clock-alt:before { + content: "" +} + +.fa-chess-king:before { + content: "" +} + +.fa-chess-king-alt:before { + content: "" +} + +.fa-chess-knight:before { + content: "" +} + +.fa-chess-knight-alt:before { + content: "" +} + +.fa-chess-pawn:before { + content: "" +} + +.fa-chess-pawn-alt:before { + content: "" +} + +.fa-chess-queen:before { + content: "" +} + +.fa-chess-queen-alt:before { + content: "" +} + +.fa-chess-rook:before { + content: "" +} + +.fa-chess-rook-alt:before { + content: "" +} + +.fa-chevron-circle-down:before { + content: "" +} + +.fa-chevron-circle-left:before { + content: "" +} + +.fa-chevron-circle-right:before { + content: "" +} + +.fa-chevron-circle-up:before { + content: "" +} + +.fa-chevron-double-down:before { + content: "" +} + +.fa-chevron-double-left:before { + content: "" +} + +.fa-chevron-double-right:before { + content: "" +} + +.fa-chevron-double-up:before { + content: "" +} + +.fa-chevron-down:before { + content: "" +} + +.fa-chevron-left:before { + content: "" +} + +.fa-chevron-right:before { + content: "" +} + +.fa-chevron-square-down:before { + content: "" +} + +.fa-chevron-square-left:before { + content: "" +} + +.fa-chevron-square-right:before { + content: "" +} + +.fa-chevron-square-up:before { + content: "" +} + +.fa-chevron-up:before { + content: "" +} + +.fa-child:before { + content: "" +} + +.fa-chrome:before { + content: "" +} + +.fa-church:before { + content: "" +} + +.fa-circle:before { + content: "" +} + +.fa-circle-notch:before { + content: "" +} + +.fa-clipboard:before { + content: "" +} + +.fa-clipboard-check:before { + content: "" +} + +.fa-clipboard-list:before { + content: "" +} + +.fa-clock:before { + content: "" +} + +.fa-clone:before { + content: "" +} + +.fa-closed-captioning:before { + content: "" +} + +.fa-cloud:before { + content: "" +} + +.fa-cloud-download:before { + content: "" +} + +.fa-cloud-download-alt:before { + content: "" +} + +.fa-cloud-upload:before { + content: "" +} + +.fa-cloud-upload-alt:before { + content: "" +} + +.fa-cloudscale:before { + content: "" +} + +.fa-cloudsmith:before { + content: "" +} + +.fa-cloudversify:before { + content: "" +} + +.fa-club:before { + content: "" +} + +.fa-cocktail:before { + content: "" +} + +.fa-code:before { + content: "" +} + +.fa-code-branch:before { + content: "" +} + +.fa-code-commit:before { + content: "" +} + +.fa-code-merge:before { + content: "" +} + +.fa-codepen:before { + content: "" +} + +.fa-codiepie:before { + content: "" +} + +.fa-coffee:before { + content: "" +} + +.fa-cog:before { + content: "" +} + +.fa-cogs:before { + content: "" +} + +.fa-coins:before { + content: "" +} + +.fa-columns:before { + content: "" +} + +.fa-comment:before { + content: "" +} + +.fa-comment-alt:before { + content: "" +} + +.fa-comment-alt-check:before { + content: "" +} + +.fa-comment-alt-dots:before { + content: "" +} + +.fa-comment-alt-edit:before { + content: "" +} + +.fa-comment-alt-exclamation:before { + content: "" +} + +.fa-comment-alt-lines:before { + content: "" +} + +.fa-comment-alt-minus:before { + content: "" +} + +.fa-comment-alt-plus:before { + content: "" +} + +.fa-comment-alt-slash:before { + content: "" +} + +.fa-comment-alt-smile:before { + content: "" +} + +.fa-comment-alt-times:before { + content: "" +} + +.fa-comment-check:before { + content: "" +} + +.fa-comment-dots:before { + content: "" +} + +.fa-comment-edit:before { + content: "" +} + +.fa-comment-exclamation:before { + content: "" +} + +.fa-comment-lines:before { + content: "" +} + +.fa-comment-minus:before { + content: "" +} + +.fa-comment-plus:before { + content: "" +} + +.fa-comment-slash:before { + content: "" +} + +.fa-comment-smile:before { + content: "" +} + +.fa-comment-times:before { + content: "" +} + +.fa-comments:before { + content: "" +} + +.fa-comments-alt:before { + content: "" +} + +.fa-compact-disc:before { + content: "" +} + +.fa-compass:before { + content: "" +} + +.fa-compress:before { + content: "" +} + +.fa-compress-alt:before { + content: "" +} + +.fa-compress-wide:before { + content: "" +} + +.fa-concierge-bell:before { + content: "" +} + +.fa-connectdevelop:before { + content: "" +} + +.fa-container-storage:before { + content: "" +} + +.fa-contao:before { + content: "" +} + +.fa-conveyor-belt:before { + content: "" +} + +.fa-conveyor-belt-alt:before { + content: "" +} + +.fa-cookie:before { + content: "" +} + +.fa-cookie-bite:before { + content: "" +} + +.fa-copy:before { + content: "" +} + +.fa-copyright:before { + content: "" +} + +.fa-couch:before { + content: "" +} + +.fa-cpanel:before { + content: "" +} + +.fa-creative-commons:before { + content: "" +} + +.fa-creative-commons-by:before { + content: "" +} + +.fa-creative-commons-nc:before { + content: "" +} + +.fa-creative-commons-nc-eu:before { + content: "" +} + +.fa-creative-commons-nc-jp:before { + content: "" +} + +.fa-creative-commons-nd:before { + content: "" +} + +.fa-creative-commons-pd:before { + content: "" +} + +.fa-creative-commons-pd-alt:before { + content: "" +} + +.fa-creative-commons-remix:before { + content: "" +} + +.fa-creative-commons-sa:before { + content: "" +} + +.fa-creative-commons-sampling:before { + content: "" +} + +.fa-creative-commons-sampling-plus:before { + content: "" +} + +.fa-creative-commons-share:before { + content: "" +} + +.fa-creative-commons-zero:before { + content: "" +} + +.fa-credit-card:before { + content: "" +} + +.fa-credit-card-blank:before { + content: "" +} + +.fa-credit-card-front:before { + content: "" +} + +.fa-cricket:before { + content: "" +} + +.fa-crop:before { + content: "" +} + +.fa-crop-alt:before { + content: "" +} + +.fa-crosshairs:before { + content: "" +} + +.fa-crow:before { + content: "" +} + +.fa-crown:before { + content: "" +} + +.fa-css3:before { + content: "" +} + +.fa-css3-alt:before { + content: "" +} + +.fa-cube:before { + content: "" +} + +.fa-cubes:before { + content: "" +} + +.fa-curling:before { + content: "" +} + +.fa-cut:before { + content: "" +} + +.fa-cuttlefish:before { + content: "" +} + +.fa-d-and-d:before { + content: "" +} + +.fa-dashcube:before { + content: "" +} + +.fa-database:before { + content: "" +} + +.fa-deaf:before { + content: "" +} + +.fa-delicious:before { + content: "" +} + +.fa-deploydog:before { + content: "" +} + +.fa-deskpro:before { + content: "" +} + +.fa-desktop:before { + content: "" +} + +.fa-desktop-alt:before { + content: "" +} + +.fa-deviantart:before { + content: "" +} + +.fa-diagnoses:before { + content: "" +} + +.fa-diamond:before { + content: "" +} + +.fa-dice:before { + content: "" +} + +.fa-dice-five:before { + content: "" +} + +.fa-dice-four:before { + content: "" +} + +.fa-dice-one:before { + content: "" +} + +.fa-dice-six:before { + content: "" +} + +.fa-dice-three:before { + content: "" +} + +.fa-dice-two:before { + content: "" +} + +.fa-digg:before { + content: "" +} + +.fa-digital-ocean:before { + content: "" +} + +.fa-digital-tachograph:before { + content: "" +} + +.fa-discord:before { + content: "" +} + +.fa-discourse:before { + content: "" +} + +.fa-divide:before { + content: "" +} + +.fa-dizzy:before { + content: "" +} + +.fa-dna:before { + content: "" +} + +.fa-dochub:before { + content: "" +} + +.fa-docker:before { + content: "" +} + +.fa-dollar-sign:before { + content: "" +} + +.fa-dolly:before { + content: "" +} + +.fa-dolly-empty:before { + content: "" +} + +.fa-dolly-flatbed:before { + content: "" +} + +.fa-dolly-flatbed-alt:before { + content: "" +} + +.fa-dolly-flatbed-empty:before { + content: "" +} + +.fa-donate:before { + content: "" +} + +.fa-door-closed:before { + content: "" +} + +.fa-door-open:before { + content: "" +} + +.fa-dot-circle:before { + content: "" +} + +.fa-dove:before { + content: "" +} + +.fa-download:before { + content: "" +} + +.fa-draft2digital:before { + content: "" +} + +.fa-drafting-compass:before { + content: "" +} + +.fa-dribbble:before { + content: "" +} + +.fa-dribbble-square:before { + content: "" +} + +.fa-dropbox:before { + content: "" +} + +.fa-drum:before { + content: "" +} + +.fa-drum-steelpan:before { + content: "" +} + +.fa-drupal:before { + content: "" +} + +.fa-dumbbell:before { + content: "" +} + +.fa-dyalog:before { + content: "" +} + +.fa-earlybirds:before { + content: "" +} + +.fa-ebay:before { + content: "" +} + +.fa-edge:before { + content: "" +} + +.fa-edit:before { + content: "" +} + +.fa-eject:before { + content: "" +} + +.fa-elementor:before { + content: "" +} + +.fa-ellipsis-h:before { + content: "" +} + +.fa-ellipsis-h-alt:before { + content: "" +} + +.fa-ellipsis-v:before { + content: "" +} + +.fa-ellipsis-v-alt:before { + content: "" +} + +.fa-ember:before { + content: "" +} + +.fa-empire:before { + content: "" +} + +.fa-envelope:before { + content: "" +} + +.fa-envelope-open:before { + content: "" +} + +.fa-envelope-square:before { + content: "" +} + +.fa-envira:before { + content: "" +} + +.fa-equals:before { + content: "" +} + +.fa-eraser:before { + content: "" +} + +.fa-erlang:before { + content: "" +} + +.fa-ethereum:before { + content: "" +} + +.fa-etsy:before { + content: "" +} + +.fa-euro-sign:before { + content: "" +} + +.fa-exchange:before { + content: "" +} + +.fa-exchange-alt:before { + content: "" +} + +.fa-exclamation:before { + content: "" +} + +.fa-exclamation-circle:before { + content: "" +} + +.fa-exclamation-square:before { + content: "" +} + +.fa-exclamation-triangle:before { + content: "" +} + +.fa-expand:before { + content: "" +} + +.fa-expand-alt:before { + content: "" +} + +.fa-expand-arrows:before { + content: "" +} + +.fa-expand-arrows-alt:before { + content: "" +} + +.fa-expand-wide:before { + content: "" +} + +.fa-expeditedssl:before { + content: "" +} + +.fa-external-link:before { + content: "" +} + +.fa-external-link-alt:before { + content: "" +} + +.fa-external-link-square:before { + content: "" +} + +.fa-external-link-square-alt:before { + content: "" +} + +.fa-eye:before { + content: "" +} + +.fa-eye-dropper:before { + content: "" +} + +.fa-eye-slash:before { + content: "" +} + +.fa-facebook:before { + content: "" +} + +.fa-facebook-f:before { + content: "" +} + +.fa-facebook-messenger:before { + content: "" +} + +.fa-facebook-square:before { + content: "" +} + +.fa-fast-backward:before { + content: "" +} + +.fa-fast-forward:before { + content: "" +} + +.fa-fax:before { + content: "" +} + +.fa-feather:before { + content: "" +} + +.fa-feather-alt:before { + content: "" +} + +.fa-female:before { + content: "" +} + +.fa-field-hockey:before { + content: "" +} + +.fa-fighter-jet:before { + content: "" +} + +.fa-file:before { + content: "" +} + +.fa-file-alt:before { + content: "" +} + +.fa-file-archive:before { + content: "" +} + +.fa-file-audio:before { + content: "" +} + +.fa-file-check:before { + content: "" +} + +.fa-file-code:before { + content: "" +} + +.fa-file-contract:before { + content: "" +} + +.fa-file-download:before { + content: "" +} + +.fa-file-edit:before { + content: "" +} + +.fa-file-excel:before { + content: "" +} + +.fa-file-exclamation:before { + content: "" +} + +.fa-file-export:before { + content: "" +} + +.fa-file-image:before { + content: "" +} + +.fa-file-import:before { + content: "" +} + +.fa-file-invoice:before { + content: "" +} + +.fa-file-invoice-dollar:before { + content: "" +} + +.fa-file-medical:before { + content: "" +} + +.fa-file-medical-alt:before { + content: "" +} + +.fa-file-minus:before { + content: "" +} + +.fa-file-pdf:before { + content: "" +} + +.fa-file-plus:before { + content: "" +} + +.fa-file-powerpoint:before { + content: "" +} + +.fa-file-prescription:before { + content: "" +} + +.fa-file-signature:before { + content: "" +} + +.fa-file-times:before { + content: "" +} + +.fa-file-upload:before { + content: "" +} + +.fa-file-video:before { + content: "" +} + +.fa-file-word:before { + content: "" +} + +.fa-fill:before { + content: "" +} + +.fa-fill-drip:before { + content: "" +} + +.fa-film:before { + content: "" +} + +.fa-film-alt:before { + content: "" +} + +.fa-filter:before { + content: "" +} + +.fa-fingerprint:before { + content: "" +} + +.fa-fire:before { + content: "" +} + +.fa-fire-extinguisher:before { + content: "" +} + +.fa-firefox:before { + content: "" +} + +.fa-first-aid:before { + content: "" +} + +.fa-first-order:before { + content: "" +} + +.fa-first-order-alt:before { + content: "" +} + +.fa-firstdraft:before { + content: "" +} + +.fa-fish:before { + content: "" +} + +.fa-flag:before { + content: "" +} + +.fa-flag-checkered:before { + content: "" +} + +.fa-flask:before { + content: "" +} + +.fa-flickr:before { + content: "" +} + +.fa-flipboard:before { + content: "" +} + +.fa-flushed:before { + content: "" +} + +.fa-fly:before { + content: "" +} + +.fa-folder:before { + content: "" +} + +.fa-folder-open:before { + content: "" +} + +.fa-font:before { + content: "" +} + +.fa-font-awesome:before { + content: "" +} + +.fa-font-awesome-alt:before { + content: "" +} + +.fa-font-awesome-flag:before { + content: "" +} + +.fa-font-awesome-logo-full:before { + content: "" +} + +.fa-fonticons:before { + content: "" +} + +.fa-fonticons-fi:before { + content: "" +} + +.fa-football-ball:before { + content: "" +} + +.fa-football-helmet:before { + content: "" +} + +.fa-forklift:before { + content: "" +} + +.fa-fort-awesome:before { + content: "" +} + +.fa-fort-awesome-alt:before { + content: "" +} + +.fa-forumbee:before { + content: "" +} + +.fa-forward:before { + content: "" +} + +.fa-foursquare:before { + content: "" +} + +.fa-fragile:before { + content: "" +} + +.fa-free-code-camp:before { + content: "" +} + +.fa-freebsd:before { + content: "" +} + +.fa-frog:before { + content: "" +} + +.fa-frown:before { + content: "" +} + +.fa-frown-open:before { + content: "" +} + +.fa-fulcrum:before { + content: "" +} + +.fa-futbol:before { + content: "" +} + +.fa-galactic-republic:before { + content: "" +} + +.fa-galactic-senate:before { + content: "" +} + +.fa-gamepad:before { + content: "" +} + +.fa-gas-pump:before { + content: "" +} + +.fa-gavel:before { + content: "" +} + +.fa-gem:before { + content: "" +} + +.fa-genderless:before { + content: "" +} + +.fa-get-pocket:before { + content: "" +} + +.fa-gg:before { + content: "" +} + +.fa-gg-circle:before { + content: "" +} + +.fa-gift:before { + content: "" +} + +.fa-git:before { + content: "" +} + +.fa-git-square:before { + content: "" +} + +.fa-github:before { + content: "" +} + +.fa-github-alt:before { + content: "" +} + +.fa-github-square:before { + content: "" +} + +.fa-gitkraken:before { + content: "" +} + +.fa-gitlab:before { + content: "" +} + +.fa-gitter:before { + content: "" +} + +.fa-glass-martini:before { + content: "" +} + +.fa-glass-martini-alt:before { + content: "" +} + +.fa-glasses:before { + content: "" +} + +.fa-glide:before { + content: "" +} + +.fa-glide-g:before { + content: "" +} + +.fa-globe:before { + content: "" +} + +.fa-globe-africa:before { + content: "" +} + +.fa-globe-americas:before { + content: "" +} + +.fa-globe-asia:before { + content: "" +} + +.fa-gofore:before { + content: "" +} + +.fa-golf-ball:before { + content: "" +} + +.fa-golf-club:before { + content: "" +} + +.fa-goodreads:before { + content: "" +} + +.fa-goodreads-g:before { + content: "" +} + +.fa-google:before { + content: "" +} + +.fa-google-drive:before { + content: "" +} + +.fa-google-play:before { + content: "" +} + +.fa-google-plus:before { + content: "" +} + +.fa-google-plus-g:before { + content: "" +} + +.fa-google-plus-square:before { + content: "" +} + +.fa-google-wallet:before { + content: "" +} + +.fa-graduation-cap:before { + content: "" +} + +.fa-gratipay:before { + content: "" +} + +.fa-grav:before { + content: "" +} + +.fa-greater-than:before { + content: "" +} + +.fa-greater-than-equal:before { + content: "" +} + +.fa-grimace:before { + content: "" +} + +.fa-grin:before { + content: "" +} + +.fa-grin-alt:before { + content: "" +} + +.fa-grin-beam:before { + content: "" +} + +.fa-grin-beam-sweat:before { + content: "" +} + +.fa-grin-hearts:before { + content: "" +} + +.fa-grin-squint:before { + content: "" +} + +.fa-grin-squint-tears:before { + content: "" +} + +.fa-grin-stars:before { + content: "" +} + +.fa-grin-tears:before { + content: "" +} + +.fa-grin-tongue:before { + content: "" +} + +.fa-grin-tongue-squint:before { + content: "" +} + +.fa-grin-tongue-wink:before { + content: "" +} + +.fa-grin-wink:before { + content: "" +} + +.fa-grip-horizontal:before { + content: "" +} + +.fa-grip-vertical:before { + content: "" +} + +.fa-gripfire:before { + content: "" +} + +.fa-grunt:before { + content: "" +} + +.fa-gulp:before { + content: "" +} + +.fa-h-square:before { + content: "" +} + +.fa-h1:before { + content: "" +} + +.fa-h2:before { + content: "" +} + +.fa-h3:before { + content: "" +} + +.fa-hacker-news:before { + content: "" +} + +.fa-hacker-news-square:before { + content: "" +} + +.fa-hand-heart:before { + content: "" +} + +.fa-hand-holding:before { + content: "" +} + +.fa-hand-holding-box:before { + content: "" +} + +.fa-hand-holding-heart:before { + content: "" +} + +.fa-hand-holding-seedling:before { + content: "" +} + +.fa-hand-holding-usd:before { + content: "" +} + +.fa-hand-holding-water:before { + content: "" +} + +.fa-hand-lizard:before { + content: "" +} + +.fa-hand-paper:before { + content: "" +} + +.fa-hand-peace:before { + content: "" +} + +.fa-hand-point-down:before { + content: "" +} + +.fa-hand-point-left:before { + content: "" +} + +.fa-hand-point-right:before { + content: "" +} + +.fa-hand-point-up:before { + content: "" +} + +.fa-hand-pointer:before { + content: "" +} + +.fa-hand-receiving:before { + content: "" +} + +.fa-hand-rock:before { + content: "" +} + +.fa-hand-scissors:before { + content: "" +} + +.fa-hand-spock:before { + content: "" +} + +.fa-hands:before { + content: "" +} + +.fa-hands-heart:before { + content: "" +} + +.fa-hands-helping:before { + content: "" +} + +.fa-hands-usd:before { + content: "" +} + +.fa-handshake:before { + content: "" +} + +.fa-handshake-alt:before { + content: "" +} + +.fa-hashtag:before { + content: "" +} + +.fa-hdd:before { + content: "" +} + +.fa-heading:before { + content: "" +} + +.fa-headphones:before { + content: "" +} + +.fa-headphones-alt:before { + content: "" +} + +.fa-headset:before { + content: "" +} + +.fa-heart:before { + content: "" +} + +.fa-heart-circle:before { + content: "" +} + +.fa-heart-square:before { + content: "" +} + +.fa-heartbeat:before { + content: "" +} + +.fa-helicopter:before { + content: "" +} + +.fa-hexagon:before { + content: "" +} + +.fa-highlighter:before { + content: "" +} + +.fa-hips:before { + content: "" +} + +.fa-hire-a-helper:before { + content: "" +} + +.fa-history:before { + content: "" +} + +.fa-hockey-puck:before { + content: "" +} + +.fa-hockey-sticks:before { + content: "" +} + +.fa-home:before { + content: "" +} + +.fa-home-heart:before { + content: "" +} + +.fa-hooli:before { + content: "" +} + +.fa-hornbill:before { + content: "" +} + +.fa-hospital:before { + content: "" +} + +.fa-hospital-alt:before { + content: "" +} + +.fa-hospital-symbol:before { + content: "" +} + +.fa-hot-tub:before { + content: "" +} + +.fa-hotel:before { + content: "" +} + +.fa-hotjar:before { + content: "" +} + +.fa-hourglass:before { + content: "" +} + +.fa-hourglass-end:before { + content: "" +} + +.fa-hourglass-half:before { + content: "" +} + +.fa-hourglass-start:before { + content: "" +} + +.fa-houzz:before { + content: "" +} + +.fa-html5:before { + content: "" +} + +.fa-hubspot:before { + content: "" +} + +.fa-i-cursor:before { + content: "" +} + +.fa-id-badge:before { + content: "" +} + +.fa-id-card:before { + content: "" +} + +.fa-id-card-alt:before { + content: "" +} + +.fa-image:before { + content: "" +} + +.fa-images:before { + content: "" +} + +.fa-imdb:before { + content: "" +} + +.fa-inbox:before { + content: "" +} + +.fa-inbox-in:before { + content: "" +} + +.fa-inbox-out:before { + content: "" +} + +.fa-indent:before { + content: "" +} + +.fa-industry:before { + content: "" +} + +.fa-industry-alt:before { + content: "" +} + +.fa-infinity:before { + content: "" +} + +.fa-info:before { + content: "" +} + +.fa-info-circle:before { + content: "" +} + +.fa-info-square:before { + content: "" +} + +.fa-instagram:before { + content: "" +} + +.fa-internet-explorer:before { + content: "" +} + +.fa-inventory:before { + content: "" +} + +.fa-ioxhost:before { + content: "" +} + +.fa-italic:before { + content: "" +} + +.fa-itunes:before { + content: "" +} + +.fa-itunes-note:before { + content: "" +} + +.fa-jack-o-lantern:before { + content: "" +} + +.fa-java:before { + content: "" +} + +.fa-jedi-order:before { + content: "" +} + +.fa-jenkins:before { + content: "" +} + +.fa-joget:before { + content: "" +} + +.fa-joint:before { + content: "" +} + +.fa-joomla:before { + content: "" +} + +.fa-js:before { + content: "" +} + +.fa-js-square:before { + content: "" +} + +.fa-jsfiddle:before { + content: "" +} + +.fa-key:before { + content: "" +} + +.fa-keybase:before { + content: "" +} + +.fa-keyboard:before { + content: "" +} + +.fa-keycdn:before { + content: "" +} + +.fa-kickstarter:before { + content: "" +} + +.fa-kickstarter-k:before { + content: "" +} + +.fa-kiss:before { + content: "" +} + +.fa-kiss-beam:before { + content: "" +} + +.fa-kiss-wink-heart:before { + content: "" +} + +.fa-kiwi-bird:before { + content: "" +} + +.fa-korvue:before { + content: "" +} + +.fa-lamp:before { + content: "" +} + +.fa-language:before { + content: "" +} + +.fa-laptop:before { + content: "" +} + +.fa-laravel:before { + content: "" +} + +.fa-lastfm:before { + content: "" +} + +.fa-lastfm-square:before { + content: "" +} + +.fa-laugh:before { + content: "" +} + +.fa-laugh-beam:before { + content: "" +} + +.fa-laugh-squint:before { + content: "" +} + +.fa-laugh-wink:before { + content: "" +} + +.fa-leaf:before { + content: "" +} + +.fa-leaf-heart:before { + content: "" +} + +.fa-leanpub:before { + content: "" +} + +.fa-lemon:before { + content: "" +} + +.fa-less:before { + content: "" +} + +.fa-less-than:before { + content: "" +} + +.fa-less-than-equal:before { + content: "" +} + +.fa-level-down:before { + content: "" +} + +.fa-level-down-alt:before { + content: "" +} + +.fa-level-up:before { + content: "" +} + +.fa-level-up-alt:before { + content: "" +} + +.fa-life-ring:before { + content: "" +} + +.fa-lightbulb:before { + content: "" +} + +.fa-line:before { + content: "" +} + +.fa-link:before { + content: "" +} + +.fa-linkedin:before { + content: "" +} + +.fa-linkedin-in:before { + content: "" +} + +.fa-linode:before { + content: "" +} + +.fa-linux:before { + content: "" +} + +.fa-lira-sign:before { + content: "" +} + +.fa-list:before { + content: "" +} + +.fa-list-alt:before { + content: "" +} + +.fa-list-ol:before { + content: "" +} + +.fa-list-ul:before { + content: "" +} + +.fa-location-arrow:before { + content: "" +} + +.fa-lock:before { + content: "" +} + +.fa-lock-alt:before { + content: "" +} + +.fa-lock-open:before { + content: "" +} + +.fa-lock-open-alt:before { + content: "" +} + +.fa-long-arrow-alt-down:before { + content: "" +} + +.fa-long-arrow-alt-left:before { + content: "" +} + +.fa-long-arrow-alt-right:before { + content: "" +} + +.fa-long-arrow-alt-up:before { + content: "" +} + +.fa-long-arrow-down:before { + content: "" +} + +.fa-long-arrow-left:before { + content: "" +} + +.fa-long-arrow-right:before { + content: "" +} + +.fa-long-arrow-up:before { + content: "" +} + +.fa-loveseat:before { + content: "" +} + +.fa-low-vision:before { + content: "" +} + +.fa-luchador:before { + content: "" +} + +.fa-luggage-cart:before { + content: "" +} + +.fa-lyft:before { + content: "" +} + +.fa-magento:before { + content: "" +} + +.fa-magic:before { + content: "" +} + +.fa-magnet:before { + content: "" +} + +.fa-mailchimp:before { + content: "" +} + +.fa-male:before { + content: "" +} + +.fa-mandalorian:before { + content: "" +} + +.fa-map:before { + content: "" +} + +.fa-map-marked:before { + content: "" +} + +.fa-map-marked-alt:before { + content: "" +} + +.fa-map-marker:before { + content: "" +} + +.fa-map-marker-alt:before { + content: "" +} + +.fa-map-pin:before { + content: "" +} + +.fa-map-signs:before { + content: "" +} + +.fa-marker:before { + content: "" +} + +.fa-mars:before { + content: "" +} + +.fa-mars-double:before { + content: "" +} + +.fa-mars-stroke:before { + content: "" +} + +.fa-mars-stroke-h:before { + content: "" +} + +.fa-mars-stroke-v:before { + content: "" +} + +.fa-mastodon:before { + content: "" +} + +.fa-maxcdn:before { + content: "" +} + +.fa-medal:before { + content: "" +} + +.fa-medapps:before { + content: "" +} + +.fa-medium:before { + content: "" +} + +.fa-medium-m:before { + content: "" +} + +.fa-medkit:before { + content: "" +} + +.fa-medrt:before { + content: "" +} + +.fa-meetup:before { + content: "" +} + +.fa-megaport:before { + content: "" +} + +.fa-meh:before { + content: "" +} + +.fa-meh-blank:before { + content: "" +} + +.fa-meh-rolling-eyes:before { + content: "" +} + +.fa-memory:before { + content: "" +} + +.fa-mercury:before { + content: "" +} + +.fa-microchip:before { + content: "" +} + +.fa-microphone:before { + content: "" +} + +.fa-microphone-alt:before { + content: "" +} + +.fa-microphone-alt-slash:before { + content: "" +} + +.fa-microphone-slash:before { + content: "" +} + +.fa-microsoft:before { + content: "" +} + +.fa-minus:before { + content: "" +} + +.fa-minus-circle:before { + content: "" +} + +.fa-minus-hexagon:before { + content: "" +} + +.fa-minus-octagon:before { + content: "" +} + +.fa-minus-square:before { + content: "" +} + +.fa-mix:before { + content: "" +} + +.fa-mixcloud:before { + content: "" +} + +.fa-mizuni:before { + content: "" +} + +.fa-mobile:before { + content: "" +} + +.fa-mobile-alt:before { + content: "" +} + +.fa-mobile-android:before { + content: "" +} + +.fa-mobile-android-alt:before { + content: "" +} + +.fa-modx:before { + content: "" +} + +.fa-monero:before { + content: "" +} + +.fa-money-bill:before { + content: "" +} + +.fa-money-bill-alt:before { + content: "" +} + +.fa-money-bill-wave:before { + content: "" +} + +.fa-money-bill-wave-alt:before { + content: "" +} + +.fa-money-check:before { + content: "" +} + +.fa-money-check-alt:before { + content: "" +} + +.fa-monument:before { + content: "" +} + +.fa-moon:before { + content: "" +} + +.fa-mortar-pestle:before { + content: "" +} + +.fa-motorcycle:before { + content: "" +} + +.fa-mouse-pointer:before { + content: "" +} + +.fa-music:before { + content: "" +} + +.fa-napster:before { + content: "" +} + +.fa-neuter:before { + content: "" +} + +.fa-newspaper:before { + content: "" +} + +.fa-nimblr:before { + content: "" +} + +.fa-nintendo-switch:before { + content: "" +} + +.fa-node:before { + content: "" +} + +.fa-node-js:before { + content: "" +} + +.fa-not-equal:before { + content: "" +} + +.fa-notes-medical:before { + content: "" +} + +.fa-npm:before { + content: "" +} + +.fa-ns8:before { + content: "" +} + +.fa-nutritionix:before { + content: "" +} + +.fa-object-group:before { + content: "" +} + +.fa-object-ungroup:before { + content: "" +} + +.fa-octagon:before { + content: "" +} + +.fa-odnoklassniki:before { + content: "" +} + +.fa-odnoklassniki-square:before { + content: "" +} + +.fa-old-republic:before { + content: "" +} + +.fa-opencart:before { + content: "" +} + +.fa-openid:before { + content: "" +} + +.fa-opera:before { + content: "" +} + +.fa-optin-monster:before { + content: "" +} + +.fa-osi:before { + content: "" +} + +.fa-outdent:before { + content: "" +} + +.fa-page4:before { + content: "" +} + +.fa-pagelines:before { + content: "" +} + +.fa-paint-brush:before { + content: "" +} + +.fa-paint-brush-alt:before { + content: "" +} + +.fa-paint-roller:before { + content: "" +} + +.fa-palette:before { + content: "" +} + +.fa-palfed:before { + content: "" +} + +.fa-pallet:before { + content: "" +} + +.fa-pallet-alt:before { + content: "" +} + +.fa-paper-plane:before { + content: "" +} + +.fa-paperclip:before { + content: "" +} + +.fa-parachute-box:before { + content: "" +} + +.fa-paragraph:before { + content: "" +} + +.fa-parking:before { + content: "" +} + +.fa-passport:before { + content: "" +} + +.fa-paste:before { + content: "" +} + +.fa-patreon:before { + content: "" +} + +.fa-pause:before { + content: "" +} + +.fa-pause-circle:before { + content: "" +} + +.fa-paw:before { + content: "" +} + +.fa-paypal:before { + content: "" +} + +.fa-pen:before { + content: "" +} + +.fa-pen-alt:before { + content: "" +} + +.fa-pen-fancy:before { + content: "" +} + +.fa-pen-nib:before { + content: "" +} + +.fa-pen-square:before { + content: "" +} + +.fa-pencil:before { + content: "" +} + +.fa-pencil-alt:before { + content: "" +} + +.fa-pencil-ruler:before { + content: "" +} + +.fa-pennant:before { + content: "" +} + +.fa-people-carry:before { + content: "" +} + +.fa-percent:before { + content: "" +} + +.fa-percentage:before { + content: "" +} + +.fa-periscope:before { + content: "" +} + +.fa-person-carry:before { + content: "" +} + +.fa-person-dolly:before { + content: "" +} + +.fa-person-dolly-empty:before { + content: "" +} + +.fa-phabricator:before { + content: "" +} + +.fa-phoenix-framework:before { + content: "" +} + +.fa-phoenix-squadron:before { + content: "" +} + +.fa-phone:before { + content: "" +} + +.fa-phone-plus:before { + content: "" +} + +.fa-phone-slash:before { + content: "" +} + +.fa-phone-square:before { + content: "" +} + +.fa-phone-volume:before { + content: "" +} + +.fa-php:before { + content: "" +} + +.fa-pied-piper:before { + content: "" +} + +.fa-pied-piper-alt:before { + content: "" +} + +.fa-pied-piper-hat:before { + content: "" +} + +.fa-pied-piper-pp:before { + content: "" +} + +.fa-piggy-bank:before { + content: "" +} + +.fa-pills:before { + content: "" +} + +.fa-pinterest:before { + content: "" +} + +.fa-pinterest-p:before { + content: "" +} + +.fa-pinterest-square:before { + content: "" +} + +.fa-plane:before { + content: "" +} + +.fa-plane-alt:before { + content: "" +} + +.fa-plane-arrival:before { + content: "" +} + +.fa-plane-departure:before { + content: "" +} + +.fa-play:before { + content: "" +} + +.fa-play-circle:before { + content: "" +} + +.fa-playstation:before { + content: "" +} + +.fa-plug:before { + content: "" +} + +.fa-plus:before { + content: "" +} + +.fa-plus-circle:before { + content: "" +} + +.fa-plus-hexagon:before { + content: "" +} + +.fa-plus-octagon:before { + content: "" +} + +.fa-plus-square:before { + content: "" +} + +.fa-podcast:before { + content: "" +} + +.fa-poo:before { + content: "" +} + +.fa-portrait:before { + content: "" +} + +.fa-pound-sign:before { + content: "" +} + +.fa-power-off:before { + content: "" +} + +.fa-prescription:before { + content: "" +} + +.fa-prescription-bottle:before { + content: "" +} + +.fa-prescription-bottle-alt:before { + content: "" +} + +.fa-print:before { + content: "" +} + +.fa-procedures:before { + content: "" +} + +.fa-product-hunt:before { + content: "" +} + +.fa-project-diagram:before { + content: "" +} + +.fa-pushed:before { + content: "" +} + +.fa-puzzle-piece:before { + content: "" +} + +.fa-python:before { + content: "" +} + +.fa-qq:before { + content: "" +} + +.fa-qrcode:before { + content: "" +} + +.fa-question:before { + content: "" +} + +.fa-question-circle:before { + content: "" +} + +.fa-question-square:before { + content: "" +} + +.fa-quidditch:before { + content: "" +} + +.fa-quinscape:before { + content: "" +} + +.fa-quora:before { + content: "" +} + +.fa-quote-left:before { + content: "" +} + +.fa-quote-right:before { + content: "" +} + +.fa-r-project:before { + content: "" +} + +.fa-racquet:before { + content: "" +} + +.fa-ramp-loading:before { + content: "" +} + +.fa-random:before { + content: "" +} + +.fa-ravelry:before { + content: "" +} + +.fa-react:before { + content: "" +} + +.fa-readme:before { + content: "" +} + +.fa-rebel:before { + content: "" +} + +.fa-receipt:before { + content: "" +} + +.fa-rectangle-landscape:before { + content: "" +} + +.fa-rectangle-portrait:before { + content: "" +} + +.fa-rectangle-wide:before { + content: "" +} + +.fa-recycle:before { + content: "" +} + +.fa-red-river:before { + content: "" +} + +.fa-reddit:before { + content: "" +} + +.fa-reddit-alien:before { + content: "" +} + +.fa-reddit-square:before { + content: "" +} + +.fa-redo:before { + content: "" +} + +.fa-redo-alt:before { + content: "" +} + +.fa-registered:before { + content: "" +} + +.fa-rendact:before { + content: "" +} + +.fa-renren:before { + content: "" +} + +.fa-repeat:before { + content: "" +} + +.fa-repeat-1:before { + content: "" +} + +.fa-repeat-1-alt:before { + content: "" +} + +.fa-repeat-alt:before { + content: "" +} + +.fa-reply:before { + content: "" +} + +.fa-reply-all:before { + content: "" +} + +.fa-replyd:before { + content: "" +} + +.fa-researchgate:before { + content: "" +} + +.fa-resolving:before { + content: "" +} + +.fa-retweet:before { + content: "" +} + +.fa-retweet-alt:before { + content: "" +} + +.fa-rev:before { + content: "" +} + +.fa-ribbon:before { + content: "" +} + +.fa-road:before { + content: "" +} + +.fa-robot:before { + content: "" +} + +.fa-rocket:before { + content: "" +} + +.fa-rocketchat:before { + content: "" +} + +.fa-rockrms:before { + content: "" +} + +.fa-route:before { + content: "" +} + +.fa-rss:before { + content: "" +} + +.fa-rss-square:before { + content: "" +} + +.fa-ruble-sign:before { + content: "" +} + +.fa-ruler:before { + content: "" +} + +.fa-ruler-combined:before { + content: "" +} + +.fa-ruler-horizontal:before { + content: "" +} + +.fa-ruler-vertical:before { + content: "" +} + +.fa-rupee-sign:before { + content: "" +} + +.fa-sad-cry:before { + content: "" +} + +.fa-sad-tear:before { + content: "" +} + +.fa-safari:before { + content: "" +} + +.fa-sass:before { + content: "" +} + +.fa-save:before { + content: "" +} + +.fa-scanner:before { + content: "" +} + +.fa-scanner-keyboard:before { + content: "" +} + +.fa-scanner-touchscreen:before { + content: "" +} + +.fa-schlix:before { + content: "" +} + +.fa-school:before { + content: "" +} + +.fa-screwdriver:before { + content: "" +} + +.fa-scribd:before { + content: "" +} + +.fa-scrubber:before { + content: "" +} + +.fa-search:before { + content: "" +} + +.fa-search-minus:before { + content: "" +} + +.fa-search-plus:before { + content: "" +} + +.fa-searchengin:before { + content: "" +} + +.fa-seedling:before { + content: "" +} + +.fa-sellcast:before { + content: "" +} + +.fa-sellsy:before { + content: "" +} + +.fa-server:before { + content: "" +} + +.fa-servicestack:before { + content: "" +} + +.fa-share:before { + content: "" +} + +.fa-share-all:before { + content: "" +} + +.fa-share-alt:before { + content: "" +} + +.fa-share-alt-square:before { + content: "" +} + +.fa-share-square:before { + content: "" +} + +.fa-shekel-sign:before { + content: "" +} + +.fa-shield:before { + content: "" +} + +.fa-shield-alt:before { + content: "" +} + +.fa-shield-check:before { + content: "" +} + +.fa-ship:before { + content: "" +} + +.fa-shipping-fast:before { + content: "" +} + +.fa-shipping-timed:before { + content: "" +} + +.fa-shirtsinbulk:before { + content: "" +} + +.fa-shoe-prints:before { + content: "" +} + +.fa-shopping-bag:before { + content: "" +} + +.fa-shopping-basket:before { + content: "" +} + +.fa-shopping-cart:before { + content: "" +} + +.fa-shopware:before { + content: "" +} + +.fa-shower:before { + content: "" +} + +.fa-shuttle-van:before { + content: "" +} + +.fa-shuttlecock:before { + content: "" +} + +.fa-sign:before { + content: "" +} + +.fa-sign-in:before { + content: "" +} + +.fa-sign-in-alt:before { + content: "" +} + +.fa-sign-language:before { + content: "" +} + +.fa-sign-out:before { + content: "" +} + +.fa-sign-out-alt:before { + content: "" +} + +.fa-signal:before { + content: "" +} + +.fa-signature:before { + content: "" +} + +.fa-simplybuilt:before { + content: "" +} + +.fa-sistrix:before { + content: "" +} + +.fa-sitemap:before { + content: "" +} + +.fa-sith:before { + content: "" +} + +.fa-skull:before { + content: "" +} + +.fa-skyatlas:before { + content: "" +} + +.fa-skype:before { + content: "" +} + +.fa-slack:before { + content: "" +} + +.fa-slack-hash:before { + content: "" +} + +.fa-sliders-h:before { + content: "" +} + +.fa-sliders-h-square:before { + content: "" +} + +.fa-sliders-v:before { + content: "" +} + +.fa-sliders-v-square:before { + content: "" +} + +.fa-slideshare:before { + content: "" +} + +.fa-smile:before { + content: "" +} + +.fa-smile-beam:before { + content: "" +} + +.fa-smile-plus:before { + content: "" +} + +.fa-smile-wink:before { + content: "" +} + +.fa-smoking:before { + content: "" +} + +.fa-smoking-ban:before { + content: "" +} + +.fa-snapchat:before { + content: "" +} + +.fa-snapchat-ghost:before { + content: "" +} + +.fa-snapchat-square:before { + content: "" +} + +.fa-snowflake:before { + content: "" +} + +.fa-solar-panel:before { + content: "" +} + +.fa-sort:before { + content: "" +} + +.fa-sort-alpha-down:before { + content: "" +} + +.fa-sort-alpha-up:before { + content: "" +} + +.fa-sort-amount-down:before { + content: "" +} + +.fa-sort-amount-up:before { + content: "" +} + +.fa-sort-down:before { + content: "" +} + +.fa-sort-numeric-down:before { + content: "" +} + +.fa-sort-numeric-up:before { + content: "" +} + +.fa-sort-up:before { + content: "" +} + +.fa-soundcloud:before { + content: "" +} + +.fa-spa:before { + content: "" +} + +.fa-space-shuttle:before { + content: "" +} + +.fa-spade:before { + content: "" +} + +.fa-speakap:before { + content: "" +} + +.fa-spinner:before { + content: "" +} + +.fa-spinner-third:before { + content: "" +} + +.fa-splotch:before { + content: "" +} + +.fa-spotify:before { + content: "" +} + +.fa-spray-can:before { + content: "" +} + +.fa-square:before { + content: "" +} + +.fa-square-full:before { + content: "" +} + +.fa-squarespace:before { + content: "" +} + +.fa-stack-exchange:before { + content: "" +} + +.fa-stack-overflow:before { + content: "" +} + +.fa-stamp:before { + content: "" +} + +.fa-star:before { + content: "" +} + +.fa-star-exclamation:before { + content: "" +} + +.fa-star-half:before { + content: "" +} + +.fa-star-half-alt:before { + content: "" +} + +.fa-staylinked:before { + content: "" +} + +.fa-steam:before { + content: "" +} + +.fa-steam-square:before { + content: "" +} + +.fa-steam-symbol:before { + content: "" +} + +.fa-step-backward:before { + content: "" +} + +.fa-step-forward:before { + content: "" +} + +.fa-stethoscope:before { + content: "" +} + +.fa-sticker-mule:before { + content: "" +} + +.fa-sticky-note:before { + content: "" +} + +.fa-stop:before { + content: "" +} + +.fa-stop-circle:before { + content: "" +} + +.fa-stopwatch:before { + content: "" +} + +.fa-store:before { + content: "" +} + +.fa-store-alt:before { + content: "" +} + +.fa-strava:before { + content: "" +} + +.fa-stream:before { + content: "" +} + +.fa-street-view:before { + content: "" +} + +.fa-strikethrough:before { + content: "" +} + +.fa-stripe:before { + content: "" +} + +.fa-stripe-s:before { + content: "" +} + +.fa-stroopwafel:before { + content: "" +} + +.fa-studiovinari:before { + content: "" +} + +.fa-stumbleupon:before { + content: "" +} + +.fa-stumbleupon-circle:before { + content: "" +} + +.fa-subscript:before { + content: "" +} + +.fa-subway:before { + content: "" +} + +.fa-suitcase:before { + content: "" +} + +.fa-suitcase-rolling:before { + content: "" +} + +.fa-sun:before { + content: "" +} + +.fa-superpowers:before { + content: "" +} + +.fa-superscript:before { + content: "" +} + +.fa-supple:before { + content: "" +} + +.fa-surprise:before { + content: "" +} + +.fa-swatchbook:before { + content: "" +} + +.fa-swimmer:before { + content: "" +} + +.fa-swimming-pool:before { + content: "" +} + +.fa-sync:before { + content: "" +} + +.fa-sync-alt:before { + content: "" +} + +.fa-syringe:before { + content: "" +} + +.fa-table:before { + content: "" +} + +.fa-table-tennis:before { + content: "" +} + +.fa-tablet:before { + content: "" +} + +.fa-tablet-alt:before { + content: "" +} + +.fa-tablet-android:before { + content: "" +} + +.fa-tablet-android-alt:before { + content: "" +} + +.fa-tablet-rugged:before { + content: "" +} + +.fa-tablets:before { + content: "" +} + +.fa-tachometer:before { + content: "" +} + +.fa-tachometer-alt:before { + content: "" +} + +.fa-tag:before { + content: "" +} + +.fa-tags:before { + content: "" +} + +.fa-tape:before { + content: "" +} + +.fa-tasks:before { + content: "" +} + +.fa-taxi:before { + content: "" +} + +.fa-teamspeak:before { + content: "" +} + +.fa-telegram:before { + content: "" +} + +.fa-telegram-plane:before { + content: "" +} + +.fa-tencent-weibo:before { + content: "" +} + +.fa-tennis-ball:before { + content: "" +} + +.fa-terminal:before { + content: "" +} + +.fa-text-height:before { + content: "" +} + +.fa-text-width:before { + content: "" +} + +.fa-th:before { + content: "" +} + +.fa-th-large:before { + content: "" +} + +.fa-th-list:before { + content: "" +} + +.fa-themeco:before { + content: "" +} + +.fa-themeisle:before { + content: "" +} + +.fa-thermometer:before { + content: "" +} + +.fa-thermometer-empty:before { + content: "" +} + +.fa-thermometer-full:before { + content: "" +} + +.fa-thermometer-half:before { + content: "" +} + +.fa-thermometer-quarter:before { + content: "" +} + +.fa-thermometer-three-quarters:before { + content: "" +} + +.fa-thumbs-down:before { + content: "" +} + +.fa-thumbs-up:before { + content: "" +} + +.fa-thumbtack:before { + content: "" +} + +.fa-ticket:before { + content: "" +} + +.fa-ticket-alt:before { + content: "" +} + +.fa-times:before { + content: "" +} + +.fa-times-circle:before { + content: "" +} + +.fa-times-hexagon:before { + content: "" +} + +.fa-times-octagon:before { + content: "" +} + +.fa-times-square:before { + content: "" +} + +.fa-tint:before { + content: "" +} + +.fa-tint-slash:before { + content: "" +} + +.fa-tired:before { + content: "" +} + +.fa-toggle-off:before { + content: "" +} + +.fa-toggle-on:before { + content: "" +} + +.fa-toolbox:before { + content: "" +} + +.fa-tooth:before { + content: "" +} + +.fa-trade-federation:before { + content: "" +} + +.fa-trademark:before { + content: "" +} + +.fa-train:before { + content: "" +} + +.fa-transgender:before { + content: "" +} + +.fa-transgender-alt:before { + content: "" +} + +.fa-trash:before { + content: "" +} + +.fa-trash-alt:before { + content: "" +} + +.fa-tree:before { + content: "" +} + +.fa-tree-alt:before { + content: "" +} + +.fa-trello:before { + content: "" +} + +.fa-triangle:before { + content: "" +} + +.fa-tripadvisor:before { + content: "" +} + +.fa-trophy:before { + content: "" +} + +.fa-trophy-alt:before { + content: "" +} + +.fa-truck:before { + content: "" +} + +.fa-truck-container:before { + content: "" +} + +.fa-truck-couch:before { + content: "" +} + +.fa-truck-loading:before { + content: "" +} + +.fa-truck-moving:before { + content: "" +} + +.fa-truck-ramp:before { + content: "" +} + +.fa-tshirt:before { + content: "" +} + +.fa-tty:before { + content: "" +} + +.fa-tumblr:before { + content: "" +} + +.fa-tumblr-square:before { + content: "" +} + +.fa-tv:before { + content: "" +} + +.fa-tv-retro:before { + content: "" +} + +.fa-twitch:before { + content: "" +} + +.fa-twitter:before { + content: "" +} + +.fa-twitter-square:before { + content: "" +} + +.fa-typo3:before { + content: "" +} + +.fa-uber:before { + content: "" +} + +.fa-uikit:before { + content: "" +} + +.fa-umbrella:before { + content: "" +} + +.fa-umbrella-beach:before { + content: "" +} + +.fa-underline:before { + content: "" +} + +.fa-undo:before { + content: "" +} + +.fa-undo-alt:before { + content: "" +} + +.fa-uniregistry:before { + content: "" +} + +.fa-universal-access:before { + content: "" +} + +.fa-university:before { + content: "" +} + +.fa-unlink:before { + content: "" +} + +.fa-unlock:before { + content: "" +} + +.fa-unlock-alt:before { + content: "" +} + +.fa-untappd:before { + content: "" +} + +.fa-upload:before { + content: "" +} + +.fa-usb:before { + content: "" +} + +.fa-usd-circle:before { + content: "" +} + +.fa-usd-square:before { + content: "" +} + +.fa-user:before { + content: "" +} + +.fa-user-alt:before { + content: "" +} + +.fa-user-alt-slash:before { + content: "" +} + +.fa-user-astronaut:before { + content: "" +} + +.fa-user-check:before { + content: "" +} + +.fa-user-circle:before { + content: "" +} + +.fa-user-clock:before { + content: "" +} + +.fa-user-cog:before { + content: "" +} + +.fa-user-edit:before { + content: "" +} + +.fa-user-friends:before { + content: "" +} + +.fa-user-graduate:before { + content: "" +} + +.fa-user-lock:before { + content: "" +} + +.fa-user-md:before { + content: "" +} + +.fa-user-minus:before { + content: "" +} + +.fa-user-ninja:before { + content: "" +} + +.fa-user-plus:before { + content: "" +} + +.fa-user-secret:before { + content: "" +} + +.fa-user-shield:before { + content: "" +} + +.fa-user-slash:before { + content: "" +} + +.fa-user-tag:before { + content: "" +} + +.fa-user-tie:before { + content: "" +} + +.fa-user-times:before { + content: "" +} + +.fa-users:before { + content: "" +} + +.fa-users-cog:before { + content: "" +} + +.fa-ussunnah:before { + content: "" +} + +.fa-utensil-fork:before { + content: "" +} + +.fa-utensil-knife:before { + content: "" +} + +.fa-utensil-spoon:before { + content: "" +} + +.fa-utensils:before { + content: "" +} + +.fa-utensils-alt:before { + content: "" +} + +.fa-vaadin:before { + content: "" +} + +.fa-vector-square:before { + content: "" +} + +.fa-venus:before { + content: "" +} + +.fa-venus-double:before { + content: "" +} + +.fa-venus-mars:before { + content: "" +} + +.fa-viacoin:before { + content: "" +} + +.fa-viadeo:before { + content: "" +} + +.fa-viadeo-square:before { + content: "" +} + +.fa-vial:before { + content: "" +} + +.fa-vials:before { + content: "" +} + +.fa-viber:before { + content: "" +} + +.fa-video:before { + content: "" +} + +.fa-video-plus:before { + content: "" +} + +.fa-video-slash:before { + content: "" +} + +.fa-vimeo:before { + content: "" +} + +.fa-vimeo-square:before { + content: "" +} + +.fa-vimeo-v:before { + content: "" +} + +.fa-vine:before { + content: "" +} + +.fa-vk:before { + content: "" +} + +.fa-vnv:before { + content: "" +} + +.fa-volleyball-ball:before { + content: "" +} + +.fa-volume-down:before { + content: "" +} + +.fa-volume-mute:before { + content: "" +} + +.fa-volume-off:before { + content: "" +} + +.fa-volume-up:before { + content: "" +} + +.fa-vuejs:before { + content: "" +} + +.fa-walking:before { + content: "" +} + +.fa-wallet:before { + content: "" +} + +.fa-warehouse:before { + content: "" +} + +.fa-warehouse-alt:before { + content: "" +} + +.fa-watch:before { + content: "" +} + +.fa-weebly:before { + content: "" +} + +.fa-weibo:before { + content: "" +} + +.fa-weight:before { + content: "" +} + +.fa-weight-hanging:before { + content: "" +} + +.fa-weixin:before { + content: "" +} + +.fa-whatsapp:before { + content: "" +} + +.fa-whatsapp-square:before { + content: "" +} + +.fa-wheelchair:before { + content: "" +} + +.fa-whistle:before { + content: "" +} + +.fa-whmcs:before { + content: "" +} + +.fa-wifi:before { + content: "" +} + +.fa-wikipedia-w:before { + content: "" +} + +.fa-window:before { + content: "" +} + +.fa-window-alt:before { + content: "" +} + +.fa-window-close:before { + content: "" +} + +.fa-window-maximize:before { + content: "" +} + +.fa-window-minimize:before { + content: "" +} + +.fa-window-restore:before { + content: "" +} + +.fa-windows:before { + content: "" +} + +.fa-wine-glass:before { + content: "" +} + +.fa-wine-glass-alt:before { + content: "" +} + +.fa-wix:before { + content: "" +} + +.fa-wolf-pack-battalion:before { + content: "" +} + +.fa-won-sign:before { + content: "" +} + +.fa-wordpress:before { + content: "" +} + +.fa-wordpress-simple:before { + content: "" +} + +.fa-wpbeginner:before { + content: "" +} + +.fa-wpexplorer:before { + content: "" +} + +.fa-wpforms:before { + content: "" +} + +.fa-wrench:before { + content: "" +} + +.fa-x-ray:before { + content: "" +} + +.fa-xbox:before { + content: "" +} + +.fa-xing:before { + content: "" +} + +.fa-xing-square:before { + content: "" +} + +.fa-y-combinator:before { + content: "" +} + +.fa-yahoo:before { + content: "" +} + +.fa-yandex:before { + content: "" +} + +.fa-yandex-international:before { + content: "" +} + +.fa-yelp:before { + content: "" +} + +.fa-yen-sign:before { + content: "" +} + +.fa-yoast:before { + content: "" +} + +.fa-youtube:before { + content: "" +} + +.fa-youtube-square:before { + content: "" +} + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto +} + +/*! +* Font Awesome Pro 5.1.0 by @fontawesome - https://fontawesome.com +* License - https://fontawesome.com/license (Commercial License) +*/ +.fa.fa-glass:before { + content: "" +} + +.fa.fa-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-star-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-star-o:before { + content: "" +} + +.fa.fa-remove:before { + content: "" +} + +.fa.fa-close:before { + content: "" +} + +.fa.fa-gear:before { + content: "" +} + +.fa.fa-trash-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-trash-o:before { + content: "" +} + +.fa.fa-file-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-o:before { + content: "" +} + +.fa.fa-clock-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-clock-o:before { + content: "" +} + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-down:before { + content: "" +} + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-up:before { + content: "" +} + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-play-circle-o:before { + content: "" +} + +.fa.fa-repeat:before { + content: "" +} + +.fa.fa-rotate-right:before { + content: "" +} + +.fa.fa-refresh:before { + content: "" +} + +.fa.fa-list-alt { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-dedent:before { + content: "" +} + +.fa.fa-video-camera:before { + content: "" +} + +.fa.fa-picture-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-picture-o:before { + content: "" +} + +.fa.fa-photo { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-photo:before { + content: "" +} + +.fa.fa-image { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-image:before { + content: "" +} + +.fa.fa-pencil:before { + content: "" +} + +.fa.fa-map-marker:before { + content: "" +} + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-pencil-square-o:before { + content: "" +} + +.fa.fa-share-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-share-square-o:before { + content: "" +} + +.fa.fa-check-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-check-square-o:before { + content: "" +} + +.fa.fa-arrows:before { + content: "" +} + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-times-circle-o:before { + content: "" +} + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-check-circle-o:before { + content: "" +} + +.fa.fa-mail-forward:before { + content: "" +} + +.fa.fa-eye { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-eye-slash { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-warning:before { + content: "" +} + +.fa.fa-calendar:before { + content: "" +} + +.fa.fa-arrows-v:before { + content: "" +} + +.fa.fa-arrows-h:before { + content: "" +} + +.fa.fa-bar-chart { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bar-chart:before { + content: "" +} + +.fa.fa-bar-chart-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bar-chart-o:before { + content: "" +} + +.fa.fa-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gears:before { + content: "" +} + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-thumbs-o-up:before { + content: "" +} + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-thumbs-o-down:before { + content: "" +} + +.fa.fa-heart-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-heart-o:before { + content: "" +} + +.fa.fa-sign-out:before { + content: "" +} + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-linkedin-square:before { + content: "" +} + +.fa.fa-thumb-tack:before { + content: "" +} + +.fa.fa-external-link:before { + content: "" +} + +.fa.fa-sign-in:before { + content: "" +} + +.fa.fa-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-lemon-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-lemon-o:before { + content: "" +} + +.fa.fa-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-square-o:before { + content: "" +} + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bookmark-o:before { + content: "" +} + +.fa.fa-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook:before { + content: "" +} + +.fa.fa-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook-f:before { + content: "" +} + +.fa.fa-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-credit-card { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-feed:before { + content: "" +} + +.fa.fa-hdd-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hdd-o:before { + content: "" +} + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-o-right:before { + content: "" +} + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-o-left:before { + content: "" +} + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-o-up:before { + content: "" +} + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-o-down:before { + content: "" +} + +.fa.fa-arrows-alt:before { + content: "" +} + +.fa.fa-group:before { + content: "" +} + +.fa.fa-chain:before { + content: "" +} + +.fa.fa-scissors:before { + content: "" +} + +.fa.fa-files-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-files-o:before { + content: "" +} + +.fa.fa-floppy-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-floppy-o:before { + content: "" +} + +.fa.fa-navicon:before { + content: "" +} + +.fa.fa-reorder:before { + content: "" +} + +.fa.fa-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus:before { + content: "" +} + +.fa.fa-money { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-money:before { + content: "" +} + +.fa.fa-unsorted:before { + content: "" +} + +.fa.fa-sort-desc:before { + content: "" +} + +.fa.fa-sort-asc:before { + content: "" +} + +.fa.fa-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-linkedin:before { + content: "" +} + +.fa.fa-rotate-left:before { + content: "" +} + +.fa.fa-legal:before { + content: "" +} + +.fa.fa-tachometer:before { + content: "" +} + +.fa.fa-dashboard:before { + content: "" +} + +.fa.fa-comment-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-comment-o:before { + content: "" +} + +.fa.fa-comments-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-comments-o:before { + content: "" +} + +.fa.fa-flash:before { + content: "" +} + +.fa.fa-clipboard { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-paste { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-paste:before { + content: "" +} + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-lightbulb-o:before { + content: "" +} + +.fa.fa-exchange:before { + content: "" +} + +.fa.fa-cloud-download:before { + content: "" +} + +.fa.fa-cloud-upload:before { + content: "" +} + +.fa.fa-bell-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bell-o:before { + content: "" +} + +.fa.fa-cutlery:before { + content: "" +} + +.fa.fa-file-text-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-text-o:before { + content: "" +} + +.fa.fa-building-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-building-o:before { + content: "" +} + +.fa.fa-hospital-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hospital-o:before { + content: "" +} + +.fa.fa-tablet:before { + content: "" +} + +.fa.fa-mobile:before { + content: "" +} + +.fa.fa-mobile-phone:before { + content: "" +} + +.fa.fa-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-circle-o:before { + content: "" +} + +.fa.fa-mail-reply:before { + content: "" +} + +.fa.fa-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-folder-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-folder-o:before { + content: "" +} + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-folder-open-o:before { + content: "" +} + +.fa.fa-smile-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-smile-o:before { + content: "" +} + +.fa.fa-frown-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-frown-o:before { + content: "" +} + +.fa.fa-meh-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-meh-o:before { + content: "" +} + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-keyboard-o:before { + content: "" +} + +.fa.fa-flag-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-flag-o:before { + content: "" +} + +.fa.fa-mail-reply-all:before { + content: "" +} + +.fa.fa-star-half-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-star-half-o:before { + content: "" +} + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-star-half-empty:before { + content: "" +} + +.fa.fa-star-half-full { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-star-half-full:before { + content: "" +} + +.fa.fa-code-fork:before { + content: "" +} + +.fa.fa-chain-broken:before { + content: "" +} + +.fa.fa-shield:before { + content: "" +} + +.fa.fa-calendar-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-o:before { + content: "" +} + +.fa.fa-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ticket:before { + content: "" +} + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-minus-square-o:before { + content: "" +} + +.fa.fa-level-up:before { + content: "" +} + +.fa.fa-level-down:before { + content: "" +} + +.fa.fa-pencil-square:before { + content: "" +} + +.fa.fa-external-link-square:before { + content: "" +} + +.fa.fa-compass { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-down:before { + content: "" +} + +.fa.fa-toggle-down { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-toggle-down:before { + content: "" +} + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-up:before { + content: "" +} + +.fa.fa-toggle-up { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-toggle-up:before { + content: "" +} + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-right:before { + content: "" +} + +.fa.fa-toggle-right { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-toggle-right:before { + content: "" +} + +.fa.fa-eur:before { + content: "" +} + +.fa.fa-euro:before { + content: "" +} + +.fa.fa-gbp:before { + content: "" +} + +.fa.fa-usd:before { + content: "" +} + +.fa.fa-dollar:before { + content: "" +} + +.fa.fa-inr:before { + content: "" +} + +.fa.fa-rupee:before { + content: "" +} + +.fa.fa-jpy:before { + content: "" +} + +.fa.fa-cny:before { + content: "" +} + +.fa.fa-rmb:before { + content: "" +} + +.fa.fa-yen:before { + content: "" +} + +.fa.fa-rub:before { + content: "" +} + +.fa.fa-ruble:before { + content: "" +} + +.fa.fa-rouble:before { + content: "" +} + +.fa.fa-krw:before { + content: "" +} + +.fa.fa-won:before { + content: "" +} + +.fa.fa-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitcoin:before { + content: "" +} + +.fa.fa-file-text:before { + content: "" +} + +.fa.fa-sort-alpha-asc:before { + content: "" +} + +.fa.fa-sort-alpha-desc:before { + content: "" +} + +.fa.fa-sort-amount-asc:before { + content: "" +} + +.fa.fa-sort-amount-desc:before { + content: "" +} + +.fa.fa-sort-numeric-asc:before { + content: "" +} + +.fa.fa-sort-numeric-desc:before { + content: "" +} + +.fa.fa-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-youtube-play:before { + content: "" +} + +.fa.fa-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bitbucket-square:before { + content: "" +} + +.fa.fa-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-long-arrow-down:before { + content: "" +} + +.fa.fa-long-arrow-up:before { + content: "" +} + +.fa.fa-long-arrow-left:before { + content: "" +} + +.fa.fa-long-arrow-right:before { + content: "" +} + +.fa.fa-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gittip:before { + content: "" +} + +.fa.fa-sun-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-sun-o:before { + content: "" +} + +.fa.fa-moon-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-moon-o:before { + content: "" +} + +.fa.fa-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-right:before { + content: "" +} + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-arrow-circle-o-left:before { + content: "" +} + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-caret-square-o-left:before { + content: "" +} + +.fa.fa-toggle-left { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-toggle-left:before { + content: "" +} + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-dot-circle-o:before { + content: "" +} + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-try:before { + content: "" +} + +.fa.fa-turkish-lira:before { + content: "" +} + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-plus-square-o:before { + content: "" +} + +.fa.fa-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-institution:before { + content: "" +} + +.fa.fa-bank:before { + content: "" +} + +.fa.fa-mortar-board:before { + content: "" +} + +.fa.fa-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-spoon:before { + content: "" +} + +.fa.fa-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-automobile:before { + content: "" +} + +.fa.fa-cab:before { + content: "" +} + +.fa.fa-envelope-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-envelope-o:before { + content: "" +} + +.fa.fa-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-pdf-o:before { + content: "" +} + +.fa.fa-file-word-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-word-o:before { + content: "" +} + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-excel-o:before { + content: "" +} + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-powerpoint-o:before { + content: "" +} + +.fa.fa-file-image-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-image-o:before { + content: "" +} + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-photo-o:before { + content: "" +} + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-picture-o:before { + content: "" +} + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-archive-o:before { + content: "" +} + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-zip-o:before { + content: "" +} + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-audio-o:before { + content: "" +} + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-sound-o:before { + content: "" +} + +.fa.fa-file-video-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-video-o:before { + content: "" +} + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-movie-o:before { + content: "" +} + +.fa.fa-file-code-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-file-code-o:before { + content: "" +} + +.fa.fa-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-life-ring { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-life-bouy { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-life-bouy:before { + content: "" +} + +.fa.fa-life-buoy { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-life-buoy:before { + content: "" +} + +.fa.fa-life-saver { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-life-saver:before { + content: "" +} + +.fa.fa-support { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-support:before { + content: "" +} + +.fa.fa-circle-o-notch:before { + content: "" +} + +.fa.fa-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ra:before { + content: "" +} + +.fa.fa-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-resistance:before { + content: "" +} + +.fa.fa-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ge:before { + content: "" +} + +.fa.fa-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-y-combinator-square:before { + content: "" +} + +.fa.fa-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yc-square:before { + content: "" +} + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wechat:before { + content: "" +} + +.fa.fa-send:before { + content: "" +} + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-paper-plane-o:before { + content: "" +} + +.fa.fa-send-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-send-o:before { + content: "" +} + +.fa.fa-circle-thin { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-circle-thin:before { + content: "" +} + +.fa.fa-header:before { + content: "" +} + +.fa.fa-sliders:before { + content: "" +} + +.fa.fa-futbol-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-futbol-o:before { + content: "" +} + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-soccer-ball-o:before { + content: "" +} + +.fa.fa-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-newspaper-o:before { + content: "" +} + +.fa.fa-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-bell-slash-o:before { + content: "" +} + +.fa.fa-trash:before { + content: "" +} + +.fa.fa-copyright { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-eyedropper:before { + content: "" +} + +.fa.fa-area-chart:before { + content: "" +} + +.fa.fa-pie-chart:before { + content: "" +} + +.fa.fa-line-chart:before { + content: "" +} + +.fa.fa-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-cc:before { + content: "" +} + +.fa.fa-ils:before { + content: "" +} + +.fa.fa-shekel:before { + content: "" +} + +.fa.fa-sheqel:before { + content: "" +} + +.fa.fa-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-meanpath:before { + content: "" +} + +.fa.fa-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-diamond { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-diamond:before { + content: "" +} + +.fa.fa-intersex:before { + content: "" +} + +.fa.fa-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-facebook-official:before { + content: "" +} + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-hotel:before { + content: "" +} + +.fa.fa-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yc:before { + content: "" +} + +.fa.fa-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-battery-4:before { + content: "" +} + +.fa.fa-battery:before { + content: "" +} + +.fa.fa-battery-3:before { + content: "" +} + +.fa.fa-battery-2:before { + content: "" +} + +.fa.fa-battery-1:before { + content: "" +} + +.fa.fa-battery-0:before { + content: "" +} + +.fa.fa-object-group { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-sticky-note-o:before { + content: "" +} + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-clone { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hourglass-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hourglass-o:before { + content: "" +} + +.fa.fa-hourglass-1:before { + content: "" +} + +.fa.fa-hourglass-2:before { + content: "" +} + +.fa.fa-hourglass-3:before { + content: "" +} + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-rock-o:before { + content: "" +} + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-grab-o:before { + content: "" +} + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-paper-o:before { + content: "" +} + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-stop-o:before { + content: "" +} + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-scissors-o:before { + content: "" +} + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-lizard-o:before { + content: "" +} + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-spock-o:before { + content: "" +} + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-pointer-o:before { + content: "" +} + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-hand-peace-o:before { + content: "" +} + +.fa.fa-registered { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-television:before { + content: "" +} + +.fa.fa-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-plus-o:before { + content: "" +} + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-minus-o:before { + content: "" +} + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-times-o:before { + content: "" +} + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-calendar-check-o:before { + content: "" +} + +.fa.fa-map-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-map-o:before { + content: "" +} + +.fa.fa-commenting { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-commenting:before { + content: "" +} + +.fa.fa-commenting-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-commenting-o:before { + content: "" +} + +.fa.fa-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-vimeo:before { + content: "" +} + +.fa.fa-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-credit-card-alt:before { + content: "" +} + +.fa.fa-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-pause-circle-o:before { + content: "" +} + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-stop-circle-o:before { + content: "" +} + +.fa.fa-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wheelchair-alt:before { + content: "" +} + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-question-circle-o:before { + content: "" +} + +.fa.fa-volume-control-phone:before { + content: "" +} + +.fa.fa-asl-interpreting:before { + content: "" +} + +.fa.fa-deafness:before { + content: "" +} + +.fa.fa-hard-of-hearing:before { + content: "" +} + +.fa.fa-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-signing:before { + content: "" +} + +.fa.fa-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus-official:before { + content: "" +} + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-google-plus-circle:before { + content: "" +} + +.fa.fa-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-fa:before { + content: "" +} + +.fa.fa-handshake-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-handshake-o:before { + content: "" +} + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-envelope-open-o:before { + content: "" +} + +.fa.fa-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-address-book-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-address-book-o:before { + content: "" +} + +.fa.fa-vcard:before { + content: "" +} + +.fa.fa-address-card-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-address-card-o:before { + content: "" +} + +.fa.fa-vcard-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-vcard-o:before { + content: "" +} + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-user-circle-o:before { + content: "" +} + +.fa.fa-user-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-user-o:before { + content: "" +} + +.fa.fa-id-badge { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-drivers-license:before { + content: "" +} + +.fa.fa-id-card-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-id-card-o:before { + content: "" +} + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-drivers-license-o:before { + content: "" +} + +.fa.fa-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-thermometer-4:before { + content: "" +} + +.fa.fa-thermometer:before { + content: "" +} + +.fa.fa-thermometer-3:before { + content: "" +} + +.fa.fa-thermometer-2:before { + content: "" +} + +.fa.fa-thermometer-1:before { + content: "" +} + +.fa.fa-thermometer-0:before { + content: "" +} + +.fa.fa-bathtub:before { + content: "" +} + +.fa.fa-s15:before { + content: "" +} + +.fa.fa-window-maximize { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-window-restore { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-times-rectangle:before { + content: "" +} + +.fa.fa-window-close-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-window-close-o:before { + content: "" +} + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-times-rectangle-o:before { + content: "" +} + +.fa.fa-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-eercast:before { + content: "" +} + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 5 Pro'; + font-weight: 400 +} + +.fa.fa-snowflake-o:before { + content: "" +} + +.fa.fa-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.fa.fa-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400 +} + +.highlight .hll { + background-color: #49483e +} + +.highlight pre { + background: #272822; + color: #f8f8f2 +} + +.highlight .c { + color: #75715e +} + +.highlight .err { + color: #960050; + background-color: #1e0010 +} + +.highlight .k { + color: #66d9ef +} + +.highlight .l { + color: #ae81ff +} + +.highlight .n { + color: #f8f8f2 +} + +.highlight .o { + color: #f92672 +} + +.highlight .p { + color: #f8f8f2 +} + +.highlight .cm { + color: #75715e +} + +.highlight .cp { + color: #75715e +} + +.highlight .c1 { + color: #75715e +} + +.highlight .cs { + color: #75715e +} + +.highlight .ge { + font-style: italic +} + +.highlight .gs { + font-weight: bold +} + +.highlight .kc { + color: #66d9ef +} + +.highlight .kd { + color: #66d9ef +} + +.highlight .kn { + color: #f92672 +} + +.highlight .kp { + color: #66d9ef +} + +.highlight .kr { + color: #66d9ef +} + +.highlight .kt { + color: #66d9ef +} + +.highlight .ld { + color: #e6db74 +} + +.highlight .m { + color: #ae81ff +} + +.highlight .s { + color: #e6db74 +} + +.highlight .na { + color: #a6e22e +} + +.highlight .nb { + color: #f8f8f2 +} + +.highlight .nc { + color: #a6e22e +} + +.highlight .no { + color: #66d9ef +} + +.highlight .nd { + color: #a6e22e +} + +.highlight .ni { + color: #f8f8f2 +} + +.highlight .ne { + color: #a6e22e +} + +.highlight .nf { + color: #a6e22e +} + +.highlight .nl { + color: #f8f8f2 +} + +.highlight .nn { + color: #f8f8f2 +} + +.highlight .nx { + color: #a6e22e +} + +.highlight .py { + color: #f8f8f2 +} + +.highlight .nt { + color: #f92672 +} + +.highlight .nv { + color: #f8f8f2 +} + +.highlight .ow { + color: #f92672 +} + +.highlight .w { + color: #f8f8f2 +} + +.highlight .mf { + color: #ae81ff +} + +.highlight .mh { + color: #ae81ff +} + +.highlight .mi { + color: #ae81ff +} + +.highlight .mo { + color: #ae81ff +} + +.highlight .sb { + color: #e6db74 +} + +.highlight .sc { + color: #e6db74 +} + +.highlight .sd { + color: #e6db74 +} + +.highlight .s2 { + color: #e6db74 +} + +.highlight .se { + color: #ae81ff +} + +.highlight .sh { + color: #e6db74 +} + +.highlight .si { + color: #e6db74 +} + +.highlight .sx { + color: #e6db74 +} + +.highlight .sr { + color: #e6db74 +} + +.highlight .s1 { + color: #e6db74 +} + +.highlight .ss { + color: #e6db74 +} + +.highlight .bp { + color: #f8f8f2 +} + +.highlight .vc { + color: #f8f8f2 +} + +.highlight .vg { + color: #f8f8f2 +} + +.highlight .vi { + color: #f8f8f2 +} + +.highlight .il { + color: #ae81ff +} + +/*! +* Datetimepicker for Bootstrap v3 +//! version : 3.1.3 +* https://github.com/Eonasdan/bootstrap-datetimepicker/ +*/ +.bootstrap-datetimepicker-widget { + top: 0; + left: 0; + width: 250px; + padding: 4px; + margin-top: 1px; + z-index: 99999 !important; + border-radius: 4px +} + +.bootstrap-datetimepicker-widget.timepicker-sbs { + width: 600px +} + +.bootstrap-datetimepicker-widget.bottom:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 7px +} + +.bootstrap-datetimepicker-widget.bottom:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + top: -6px; + left: 8px +} + +.bootstrap-datetimepicker-widget.top:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid #ccc; + border-top-color: rgba(0, 0, 0, 0.2); + position: absolute; + bottom: -7px; + left: 6px +} + +.bootstrap-datetimepicker-widget.top:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid white; + position: absolute; + bottom: -6px; + left: 7px +} + +.bootstrap-datetimepicker-widget .dow { + width: 14.2857% +} + +.bootstrap-datetimepicker-widget.pull-right:before { + left: auto; + right: 6px +} + +.bootstrap-datetimepicker-widget.pull-right:after { + left: auto; + right: 7px +} + +.bootstrap-datetimepicker-widget>ul { + list-style-type: none; + margin: 0 +} + +.bootstrap-datetimepicker-widget a[data-action] { + padding: 6px 0 +} + +.bootstrap-datetimepicker-widget a[data-action]:active { + box-shadow: none +} + +.bootstrap-datetimepicker-widget .timepicker-hour, +.bootstrap-datetimepicker-widget .timepicker-minute, +.bootstrap-datetimepicker-widget .timepicker-second { + width: 54px; + font-weight: bold; + font-size: 1.2em; + margin: 0 +} + +.bootstrap-datetimepicker-widget button[data-action] { + padding: 6px +} + +.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator { + width: 4px; + padding: 0; + margin: 0 +} + +.bootstrap-datetimepicker-widget .datepicker>div { + display: none +} + +.bootstrap-datetimepicker-widget .picker-switch { + text-align: center +} + +.bootstrap-datetimepicker-widget table { + width: 100%; + margin: 0 +} + +.bootstrap-datetimepicker-widget td, +.bootstrap-datetimepicker-widget th { + text-align: center; + border-radius: 4px +} + +.bootstrap-datetimepicker-widget td { + height: 54px; + line-height: 54px; + width: 54px +} + +.bootstrap-datetimepicker-widget td.cw { + font-size: 10px; + height: 20px; + line-height: 20px; + color: #777777 +} + +.bootstrap-datetimepicker-widget td.day { + height: 20px; + line-height: 20px; + width: 20px +} + +.bootstrap-datetimepicker-widget td.day:hover, +.bootstrap-datetimepicker-widget td.hour:hover, +.bootstrap-datetimepicker-widget td.minute:hover, +.bootstrap-datetimepicker-widget td.second:hover { + background: #eeeeee; + cursor: pointer +} + +.bootstrap-datetimepicker-widget td.old, +.bootstrap-datetimepicker-widget td.new { + color: #777777 +} + +.bootstrap-datetimepicker-widget td.today { + position: relative +} + +.bootstrap-datetimepicker-widget td.today:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-bottom: 7px solid #00babc; + border-top-color: rgba(0, 0, 0, 0.2); + position: absolute; + bottom: 4px; + right: 4px +} + +.bootstrap-datetimepicker-widget td.active, +.bootstrap-datetimepicker-widget td.active:hover { + background-color: #00babc; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25) +} + +.bootstrap-datetimepicker-widget td.active.today:before { + border-bottom-color: #fff +} + +.bootstrap-datetimepicker-widget td.disabled, +.bootstrap-datetimepicker-widget td.disabled:hover { + background: none; + color: #AAA; + cursor: not-allowed +} + +.bootstrap-datetimepicker-widget td span { + display: inline-block; + width: 54px; + height: 54px; + line-height: 54px; + margin: 2px 1.5px; + cursor: pointer; + border-radius: 4px +} + +.bootstrap-datetimepicker-widget td span:hover { + background: #eeeeee +} + +.bootstrap-datetimepicker-widget td span.active { + background-color: #00babc; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25) +} + +.bootstrap-datetimepicker-widget td span.old { + color: #777777 +} + +.bootstrap-datetimepicker-widget td span.disabled, +.bootstrap-datetimepicker-widget td span.disabled:hover { + background: none; + color: #777777; + cursor: not-allowed +} + +.bootstrap-datetimepicker-widget th { + height: 20px; + line-height: 20px; + width: 20px +} + +.bootstrap-datetimepicker-widget th.picker-switch { + width: 145px +} + +.bootstrap-datetimepicker-widget th.next, +.bootstrap-datetimepicker-widget th.prev { + font-size: 21px +} + +.bootstrap-datetimepicker-widget th.disabled, +.bootstrap-datetimepicker-widget th.disabled:hover { + background: none; + color: #777777; + cursor: not-allowed +} + +.bootstrap-datetimepicker-widget thead tr:first-child th { + cursor: pointer +} + +.bootstrap-datetimepicker-widget thead tr:first-child th:hover { + background: #eeeeee +} + +.input-group.date .input-group-addon span { + display: block; + cursor: pointer; + width: 16px; + height: 16px +} + +.bootstrap-datetimepicker-widget.left-oriented:before { + left: auto; + right: 6px +} + +.bootstrap-datetimepicker-widget.left-oriented:after { + left: auto; + right: 7px +} + +.bootstrap-datetimepicker-widget ul.list-unstyled li div.timepicker div.timepicker-picker table.table-condensed tbody>tr>td { + padding: 0px !important +} + +@media screen and (max-width: 767px) { + .bootstrap-datetimepicker-widget.timepicker-sbs { + width: 283px + } +} + +/*! +* FullCalendar v2.1.1 Stylesheet +* Docs & License: http://arshaw.com/fullcalendar/ +* (c) 2013 Adam Shaw +*/ +.fc { + direction: ltr; + text-align: left +} + +.fc-rtl { + text-align: right +} + +body .fc { + font-size: 1em +} + +.fc-unthemed th, +.fc-unthemed td, +.fc-unthemed hr, +.fc-unthemed thead, +.fc-unthemed tbody, +.fc-unthemed .fc-row, +.fc-unthemed .fc-popover { + border-color: #ddd +} + +.fc-unthemed .fc-popover { + background-color: #fff +} + +.fc-unthemed hr, +.fc-unthemed .fc-popover .fc-header { + background: #eee +} + +.fc-unthemed .fc-popover .fc-header .fc-close { + color: #666 +} + +.fc-highlight { + background: #bce8f1; + opacity: .3; + filter: alpha(opacity=30) +} + +.fc-icon { + display: inline-block; + font-size: 2em; + line-height: .5em; + height: .5em; + font-family: "Courier New", Courier, monospace +} + +.fc-icon-left-single-arrow:after { + content: "\02039"; + font-weight: bold +} + +.fc-icon-right-single-arrow:after { + content: "\0203A"; + font-weight: bold +} + +.fc-icon-left-double-arrow:after { + content: "\000AB" +} + +.fc-icon-right-double-arrow:after { + content: "\000BB" +} + +.fc-icon-x:after { + content: "\000D7" +} + +.fc button { + box-sizing: border-box; + margin: 0; + height: 2.1em; + padding: 0 .6em; + font-size: 1em; + white-space: nowrap; + cursor: pointer +} + +.fc button::-moz-focus-inner { + margin: 0; + padding: 0 +} + +.fc-state-default { + border: 1px solid +} + +.fc-state-default.fc-corner-left { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px +} + +.fc-state-default.fc-corner-right { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px +} + +.fc button .fc-icon { + position: relative; + top: .05em; + margin: 0 .1em +} + +.fc-state-default { + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #fff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #fff, #e6e6e6); + background-image: -o-linear-gradient(top, #fff, #e6e6e6); + background-image: linear-gradient(to bottom, #fff, #e6e6e6); + background-repeat: repeat-x; + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + color: #333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05) +} + +.fc-state-hover, +.fc-state-down, +.fc-state-active, +.fc-state-disabled { + color: #333333; + background-color: #e6e6e6 +} + +.fc-state-hover { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear +} + +.fc-state-down, +.fc-state-active { + background-color: #cccccc; + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05) +} + +.fc-state-disabled { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + box-shadow: none +} + +.fc-button-group { + display: inline-block +} + +.fc .fc-button-group>* { + float: left; + margin: 0 0 0 -1px +} + +.fc .fc-button-group>:first-child { + margin-left: 0 +} + +.fc-popover { + position: absolute; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) +} + +.fc-popover .fc-header { + padding: 2px 4px +} + +.fc-popover .fc-header .fc-title { + margin: 0 2px +} + +.fc-popover .fc-header .fc-close { + cursor: pointer +} + +.fc-ltr .fc-popover .fc-header .fc-title, +.fc-rtl .fc-popover .fc-header .fc-close { + float: left +} + +.fc-rtl .fc-popover .fc-header .fc-title, +.fc-ltr .fc-popover .fc-header .fc-close { + float: right +} + +.fc-unthemed .fc-popover { + border-width: 1px; + border-style: solid +} + +.fc-unthemed .fc-popover .fc-header .fc-close { + font-size: 25px; + margin-top: 4px +} + +.fc-popover>.ui-widget-header+.ui-widget-content { + border-top: 0 +} + +.fc hr { + height: 0; + margin: 0; + padding: 0 0 2px; + border-style: solid; + border-width: 1px 0 +} + +.fc-clear { + clear: both +} + +.fc-bg, +.fc-highlight-skeleton, +.fc-helper-skeleton { + position: absolute; + top: 0; + left: 0; + right: 0 +} + +.fc-bg { + bottom: 0 +} + +.fc-bg table { + height: 100% +} + +.fc table { + width: 100%; + table-layout: fixed; + border-collapse: collapse; + border-spacing: 0; + font-size: 1em +} + +.fc th { + text-align: center +} + +.fc th, +.fc td { + border-style: solid; + border-width: 1px; + padding: 0; + vertical-align: top +} + +.fc td.fc-today { + border-style: double +} + +.fc .fc-row { + border-style: solid; + border-width: 0 +} + +.fc-row table { + border-left: 0 hidden transparent; + border-right: 0 hidden transparent; + border-bottom: 0 hidden transparent +} + +.fc-row:first-child table { + border-top: 0 hidden transparent +} + +.fc-row { + position: relative +} + +.fc-row .fc-bg { + z-index: 1 +} + +.fc-row .fc-highlight-skeleton { + z-index: 2; + bottom: 0 +} + +.fc-row .fc-highlight-skeleton table { + height: 100% +} + +.fc-row .fc-highlight-skeleton td { + border-color: transparent +} + +.fc-row .fc-content-skeleton { + position: relative; + z-index: 3; + padding-bottom: 2px +} + +.fc-row .fc-helper-skeleton { + z-index: 4 +} + +.fc-row .fc-content-skeleton td, +.fc-row .fc-helper-skeleton td { + background: none; + border-color: transparent; + border-bottom: 0 +} + +.fc-row .fc-content-skeleton tbody td, +.fc-row .fc-helper-skeleton tbody td { + border-top: 0 +} + +.fc-scroller { + overflow-y: scroll; + overflow-x: hidden +} + +.fc-scroller>* { + position: relative; + width: 100%; + overflow: hidden +} + +.fc-event { + position: relative; + display: block; + font-size: .85em; + line-height: 1.3; + border-radius: 3px; + border: 1px solid #3a87ad; + background-color: #3a87ad; + font-weight: normal +} + +.fc-event, +.fc-event:hover, +.ui-widget .fc-event { + color: #fff; + text-decoration: none +} + +.fc-event[href], +.fc-event.fc-draggable { + cursor: pointer +} + +.fc-day-grid-event { + margin: 1px 2px 0; + padding: 0 1px +} + +.fc-ltr .fc-day-grid-event.fc-not-start, +.fc-rtl .fc-day-grid-event.fc-not-end { + margin-left: 0; + border-left-width: 0; + padding-left: 1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.fc-ltr .fc-day-grid-event.fc-not-end, +.fc-rtl .fc-day-grid-event.fc-not-start { + margin-right: 0; + border-right-width: 0; + padding-right: 1px; + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.fc-day-grid-event>.fc-content { + white-space: nowrap; + overflow: hidden +} + +.fc-day-grid-event .fc-time { + font-weight: bold +} + +.fc-day-grid-event .fc-resizer { + position: absolute; + top: 0; + bottom: 0; + width: 7px +} + +.fc-ltr .fc-day-grid-event .fc-resizer { + right: -3px; + cursor: e-resize +} + +.fc-rtl .fc-day-grid-event .fc-resizer { + left: -3px; + cursor: w-resize +} + +a.fc-more { + margin: 1px 3px; + font-size: .85em; + cursor: pointer; + text-decoration: none +} + +a.fc-more:hover { + text-decoration: underline +} + +.fc-limited { + display: none +} + +.fc-day-grid .fc-row { + z-index: 1 +} + +.fc-more-popover { + z-index: 2; + width: 220px +} + +.fc-more-popover .fc-event-container { + padding: 10px +} + +.fc-toolbar { + text-align: center; + margin-bottom: 1em +} + +.fc-toolbar .fc-left { + float: left +} + +.fc-toolbar .fc-right { + float: right +} + +.fc-toolbar .fc-center { + display: inline-block +} + +.fc .fc-toolbar>*>* { + float: left; + margin-left: .75em +} + +.fc .fc-toolbar>*>:first-child { + margin-left: 0 +} + +.fc-toolbar h2 { + margin: 0 +} + +.fc-toolbar button { + position: relative +} + +.fc-toolbar .fc-state-hover, +.fc-toolbar .ui-state-hover { + z-index: 2 +} + +.fc-toolbar .fc-state-down { + z-index: 3 +} + +.fc-toolbar .fc-state-active, +.fc-toolbar .ui-state-active { + z-index: 4 +} + +.fc-toolbar button:focus { + z-index: 5 +} + +.fc-view-container *, +.fc-view-container *:before, +.fc-view-container *:after { + box-sizing: content-box +} + +.fc-view, +.fc-view>table { + position: relative; + z-index: 1 +} + +.fc-basicWeek-view .fc-content-skeleton, +.fc-basicDay-view .fc-content-skeleton { + padding-top: 1px; + padding-bottom: 1em +} + +.fc-basic-view tbody .fc-row { + min-height: 4em +} + +.fc-row.fc-rigid { + overflow: hidden +} + +.fc-row.fc-rigid .fc-content-skeleton { + position: absolute; + top: 0; + left: 0; + right: 0 +} + +.fc-basic-view .fc-week-number, +.fc-basic-view .fc-day-number { + padding: 0 2px +} + +.fc-basic-view td.fc-week-number span, +.fc-basic-view td.fc-day-number { + padding-top: 2px; + padding-bottom: 2px +} + +.fc-basic-view .fc-week-number { + text-align: center +} + +.fc-basic-view .fc-week-number span { + display: inline-block; + min-width: 1.25em +} + +.fc-ltr .fc-basic-view .fc-day-number { + text-align: right +} + +.fc-rtl .fc-basic-view .fc-day-number { + text-align: left +} + +.fc-day-number.fc-other-month { + opacity: 0.3; + filter: alpha(opacity=30) +} + +.fc-agenda-view .fc-day-grid { + position: relative; + z-index: 2 +} + +.fc-agenda-view .fc-day-grid .fc-row { + min-height: 3em +} + +.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton { + padding-top: 1px; + padding-bottom: 1em +} + +.fc .fc-axis { + vertical-align: middle; + padding: 0 4px; + white-space: nowrap +} + +.fc-ltr .fc-axis { + text-align: right +} + +.fc-rtl .fc-axis { + text-align: left +} + +.ui-widget td.fc-axis { + font-weight: normal +} + +.fc-time-grid-container, +.fc-time-grid { + position: relative; + z-index: 1 +} + +.fc-time-grid { + min-height: 100% +} + +.fc-time-grid table { + border: 0 hidden transparent +} + +.fc-time-grid>.fc-bg { + z-index: 1 +} + +.fc-time-grid .fc-slats, +.fc-time-grid>hr { + position: relative; + z-index: 2 +} + +.fc-time-grid .fc-highlight-skeleton { + z-index: 3 +} + +.fc-time-grid .fc-content-skeleton { + position: absolute; + z-index: 4; + top: 0; + left: 0; + right: 0 +} + +.fc-time-grid>.fc-helper-skeleton { + z-index: 5 +} + +.fc-slats td { + height: 1.5em; + border-bottom: 0 +} + +.fc-slats .fc-minor td { + border-top-style: dotted +} + +.fc-slats .ui-widget-content { + background: none +} + +.fc-time-grid .fc-highlight-container { + position: relative +} + +.fc-time-grid .fc-highlight { + position: absolute; + left: 0; + right: 0 +} + +.fc-time-grid .fc-event-container { + position: relative +} + +.fc-ltr .fc-time-grid .fc-event-container { + margin: 0 2.5% 0 2px +} + +.fc-rtl .fc-time-grid .fc-event-container { + margin: 0 2px 0 2.5% +} + +.fc-time-grid .fc-event { + position: absolute; + z-index: 1 +} + +.fc-time-grid-event.fc-not-start { + border-top-width: 0; + padding-top: 1px; + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.fc-time-grid-event.fc-not-end { + border-bottom-width: 0; + padding-bottom: 1px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0 +} + +.fc-time-grid-event { + overflow: hidden +} + +.fc-time-grid-event>.fc-content { + position: relative; + z-index: 2 +} + +.fc-time-grid-event .fc-time, +.fc-time-grid-event .fc-title { + padding: 0 1px +} + +.fc-time-grid-event .fc-time { + font-size: .85em; + white-space: nowrap +} + +.fc-time-grid-event .fc-bg { + z-index: 1; + background: #fff; + opacity: .25; + filter: alpha(opacity=25) +} + +.fc-time-grid-event.fc-short .fc-content { + white-space: nowrap +} + +.fc-time-grid-event.fc-short .fc-time, +.fc-time-grid-event.fc-short .fc-title { + display: inline-block; + vertical-align: top +} + +.fc-time-grid-event.fc-short .fc-time span { + display: none +} + +.fc-time-grid-event.fc-short .fc-time:before { + content: attr(data-start) +} + +.fc-time-grid-event.fc-short .fc-time:after { + content: "\000A0-\000A0" +} + +.fc-time-grid-event.fc-short .fc-title { + font-size: .85em; + padding: 0 +} + +.fc-time-grid-event .fc-resizer { + position: absolute; + z-index: 3; + left: 0; + right: 0; + bottom: 0; + height: 8px; + overflow: hidden; + line-height: 8px; + font-size: 11px; + font-family: monospace; + text-align: center; + cursor: s-resize +} + +.fc-time-grid-event .fc-resizer:after { + content: "=" +} + +.fc-event.closed { + background: #AAAAAA; + opacity: 0.5; + border: 0 +} + +.fc-content .pull-right.delete { + cursor: pointer +} + +td:nth-child(8) .fc-content .pull-right.delete { + margin-right: 10px +} + +.fc-short .fc-content { + position: relative; + top: -7px +} + +.fc-time-grid-event.fc-short .fc-time:before, +.fc-time-grid-event.fc-short .fc-time:after { + content: "" +} + +.fc-time-grid-event.fc-short .fc-time, +.fc-time-grid-event.fc-short .fc-time span { + display: inline +} + +.fc-time-grid-event.fc-short .fc-title { + display: none +} + +.fc-time-grid-event.fc-short .fc-time span.delete { + top: 2px; + position: relative +} + +.full-width-checkbox .col-sm-offset-2 { + margin-left: 0 +} + +.chosen-container { + position: relative; + display: inline-block; + vertical-align: middle; + font-size: 13px; + zoom: 1; + *display: inline; + user-select: none +} + +.chosen-container * { + box-sizing: border-box +} + +.chosen-container .chosen-drop { + position: absolute; + top: 100%; + left: -9999px; + z-index: 1010; + width: 100%; + border: 1px solid #aaa; + border-top: 0; + background: #fff; + box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15) +} + +.chosen-container.chosen-with-drop .chosen-drop { + left: 0 +} + +.chosen-container a { + cursor: pointer +} + +.chosen-container .search-choice .group-name, +.chosen-container .chosen-single .group-name { + margin-right: 4px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + font-weight: normal; + color: #999999 +} + +.chosen-container .search-choice .group-name:after, +.chosen-container .chosen-single .group-name:after { + content: ":"; + padding-left: 2px; + vertical-align: top +} + +.chosen-container-single .chosen-single { + position: relative; + display: block; + overflow: hidden; + padding: 0 0 0 8px; + height: 25px; + border: 1px solid #aaa; + border-radius: 5px; + background-color: #fff; + background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #fff), color-stop(50%, #f6f6f6), color-stop(52%, #eee), color-stop(100%, #f4f4f4)); + background: -webkit-linear-gradient(top, #fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%); + background: -moz-linear-gradient(top, #fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%); + background: -o-linear-gradient(top, #fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%); + background: linear-gradient(top, #fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%); + background-clip: padding-box; + box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1); + color: #444; + text-decoration: none; + white-space: nowrap; + line-height: 24px +} + +.chosen-container-single .chosen-default { + color: #999 +} + +.chosen-container-single .chosen-single span { + display: block; + overflow: hidden; + margin-right: 26px; + text-overflow: ellipsis; + white-space: nowrap +} + +.chosen-container-single .chosen-single-with-deselect span { + margin-right: 38px +} + +.chosen-container-single .chosen-single abbr { + position: absolute; + top: 6px; + right: 26px; + display: block; + width: 12px; + height: 12px; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAlCAQAAACn+wJeAAAB4UlEQVRIx+2XsWtTURTGrwouLQQDwYLFzT3yJBDoYoVvySQoKFShSHe7qAgqiMn9rcUibnVwEARBl0AgUIh/QXBxFIpKJHAhUBz0HQcf4U0xtZwu+r3l8t4758fHPe/jvhBcRIUuWbFuMKAWnEB9jEQWAk0SRt8LtMo+RmKdhDGiHrzEChOMHGPsiAkhBDbIMXKu+2KaJUfZwcsXD4RJrJFKKHaw6fVmRnmNT5ydC9TDSDRCIGOMMfh9u8pegRmzNKP8NUZvzu+oR6NY19mddqVVgG7MKL5SvHPrcJu3g/F2xvMqowKUOHMYUJXhrAa8Ku1j90/dVFFXxaypoYFqfzFR80h9mZKyENRUkskrgrSqfZmS1pVkGskvG7SiiUy5TGP5RpA2lMuUyzeC1Cw5yrwxSWtKrij1ZEpqhKBMY5kGXqCKeioiSHXtain817+k9gLLLD887ozhLl8xjGG86onZxuIe99jCsHjTCRMvYvF9+1QIIcTz8RuTzmkfP0+jdaYJHW9jXPYBvYj5/ZNlf06HxvgEYzoC8Tk5l1xAnXP8IHVam8faC3GTn3x5cMJr6q5h0fjI5+L4suU24PFCfMkHhvExHQyL20eQEfERhsVncdEfdYfvGK2jcPUOK/+A/QJb5yp50uoC6QAAAABJRU5ErkJggg==") -42px 1px no-repeat; + font-size: 1px +} + +.chosen-container-single .chosen-single abbr:hover { + background-position: -42px -10px +} + +.chosen-container-single.chosen-disabled .chosen-single abbr:hover { + background-position: -42px -10px +} + +.chosen-container-single .chosen-single div { + position: absolute; + top: 0; + right: 0; + display: block; + width: 18px; + height: 100% +} + +.chosen-container-single .chosen-single div b { + display: block; + width: 100%; + height: 100%; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAlCAQAAACn+wJeAAAB4UlEQVRIx+2XsWtTURTGrwouLQQDwYLFzT3yJBDoYoVvySQoKFShSHe7qAgqiMn9rcUibnVwEARBl0AgUIh/QXBxFIpKJHAhUBz0HQcf4U0xtZwu+r3l8t4758fHPe/jvhBcRIUuWbFuMKAWnEB9jEQWAk0SRt8LtMo+RmKdhDGiHrzEChOMHGPsiAkhBDbIMXKu+2KaJUfZwcsXD4RJrJFKKHaw6fVmRnmNT5ydC9TDSDRCIGOMMfh9u8pegRmzNKP8NUZvzu+oR6NY19mddqVVgG7MKL5SvHPrcJu3g/F2xvMqowKUOHMYUJXhrAa8Ku1j90/dVFFXxaypoYFqfzFR80h9mZKyENRUkskrgrSqfZmS1pVkGskvG7SiiUy5TGP5RpA2lMuUyzeC1Cw5yrwxSWtKrij1ZEpqhKBMY5kGXqCKeioiSHXtain817+k9gLLLD887ozhLl8xjGG86onZxuIe99jCsHjTCRMvYvF9+1QIIcTz8RuTzmkfP0+jdaYJHW9jXPYBvYj5/ZNlf06HxvgEYzoC8Tk5l1xAnXP8IHVam8faC3GTn3x5cMJr6q5h0fjI5+L4suU24PFCfMkHhvExHQyL20eQEfERhsVncdEfdYfvGK2jcPUOK/+A/QJb5yp50uoC6QAAAABJRU5ErkJggg==") no-repeat 0px 2px +} + +.chosen-container-single .chosen-search { + position: relative; + z-index: 1010; + margin: 0; + padding: 3px 4px; + white-space: nowrap +} + +.chosen-container-single .chosen-search input[type="text"] { + margin: 1px 0; + padding: 4px 20px 4px 5px; + width: 100%; + height: auto; + outline: 0; + border: 1px solid #aaa; + background: white; + font-size: 1em; + font-family: sans-serif; + line-height: normal; + border-radius: 0 +} + +.chosen-container-single .chosen-drop { + margin-top: -1px; + border-radius: 0 0 4px 4px; + background-clip: padding-box +} + +.chosen-container-single.chosen-container-single-nosearch .chosen-search { + position: absolute; + left: -9999px +} + +.chosen-container .chosen-results { + color: #444; + position: relative; + overflow-x: hidden; + overflow-y: auto; + margin: 0 4px 4px 0; + padding: 0 0 0 4px; + max-height: 240px; +} + +.chosen-container .chosen-results li { + display: none; + margin: 0; + padding: 5px 6px; + list-style: none; + line-height: 15px; + word-wrap: break-word; +} + +.chosen-container .chosen-results li.active-result { + display: list-item; + cursor: pointer +} + +.chosen-container .chosen-results li.disabled-result { + display: list-item; + color: #ccc; + cursor: default +} + +.chosen-container .chosen-results li.highlighted { + background-color: #00babc; + color: #fff +} + +.chosen-container .chosen-results li.no-results { + color: #777; + display: list-item; + background: #f4f4f4 +} + +.chosen-container .chosen-results li.group-result { + display: list-item; + font-weight: bold; + cursor: default +} + +.chosen-container .chosen-results li.group-option { + padding-left: 15px +} + +.chosen-container .chosen-results li em { + font-style: normal; + text-decoration: underline +} + +.chosen-container-multi .chosen-choices { + position: relative; + overflow: hidden; + margin: 0; + padding: 0 5px; + width: 100%; + height: auto !important; + height: 1%; + background-color: #fff; + cursor: text +} + +.chosen-container-multi .chosen-choices li { + float: left; + list-style: none +} + +.chosen-container-multi .chosen-choices li.search-field { + margin: 0; + padding: 0; + white-space: nowrap +} + +.chosen-container-multi .chosen-choices li.search-field input[type="text"] { + margin: 1px 0; + padding: 0; + height: 25px; + outline: 0; + border: 0 !important; + background: transparent !important; + box-shadow: none; + color: #999; + font-size: 100%; + font-family: sans-serif; + line-height: normal; + border-radius: 0 +} + +.chosen-container-multi .chosen-choices li.search-choice { + position: relative; + margin: 3px 5px 3px 0; + padding: 3px 20px 3px 5px; + max-width: 100%; + border-radius: 3px; + box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); + color: #333; + line-height: 13px; + cursor: default +} + +.chosen-container-multi .chosen-choices li.search-choice span { + word-wrap: break-word +} + +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close { + position: absolute; + top: 4px; + right: 3px; + display: block; + width: 12px; + height: 12px; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAlCAQAAACn+wJeAAAB4UlEQVRIx+2XsWtTURTGrwouLQQDwYLFzT3yJBDoYoVvySQoKFShSHe7qAgqiMn9rcUibnVwEARBl0AgUIh/QXBxFIpKJHAhUBz0HQcf4U0xtZwu+r3l8t4758fHPe/jvhBcRIUuWbFuMKAWnEB9jEQWAk0SRt8LtMo+RmKdhDGiHrzEChOMHGPsiAkhBDbIMXKu+2KaJUfZwcsXD4RJrJFKKHaw6fVmRnmNT5ydC9TDSDRCIGOMMfh9u8pegRmzNKP8NUZvzu+oR6NY19mddqVVgG7MKL5SvHPrcJu3g/F2xvMqowKUOHMYUJXhrAa8Ku1j90/dVFFXxaypoYFqfzFR80h9mZKyENRUkskrgrSqfZmS1pVkGskvG7SiiUy5TGP5RpA2lMuUyzeC1Cw5yrwxSWtKrij1ZEpqhKBMY5kGXqCKeioiSHXtain817+k9gLLLD887ozhLl8xjGG86onZxuIe99jCsHjTCRMvYvF9+1QIIcTz8RuTzmkfP0+jdaYJHW9jXPYBvYj5/ZNlf06HxvgEYzoC8Tk5l1xAnXP8IHVam8faC3GTn3x5cMJr6q5h0fjI5+L4suU24PFCfMkHhvExHQyL20eQEfERhsVncdEfdYfvGK2jcPUOK/+A/QJb5yp50uoC6QAAAABJRU5ErkJggg==") -42px 1px no-repeat; + font-size: 1px +} + +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover { + background-position: -42px -10px +} + +.chosen-container-multi .chosen-choices li.search-choice-disabled { + padding-right: 5px; + border: 1px solid #ccc; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + color: #666 +} + +.chosen-container-multi .chosen-choices li.search-choice-focus { + background: #d4d4d4 +} + +.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close { + background-position: -42px -10px +} + +.chosen-container-multi .chosen-results { + margin: 0; + padding: 0 +} + +.chosen-container-multi .chosen-drop .result-selected { + display: list-item; + color: #ccc; + cursor: default +} + +.chosen-container-active .chosen-single { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) +} + +.chosen-container-active.chosen-with-drop .chosen-single { + border: 1px solid #aaa; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eee), color-stop(80%, #fff)); + background-image: -webkit-linear-gradient(#eee 20%, #fff 80%); + background-image: -moz-linear-gradient(#eee 20%, #fff 80%); + background-image: -o-linear-gradient(#eee 20%, #fff 80%); + background-image: linear-gradient(#eee 20%, #fff 80%); + box-shadow: 0 1px 0 #fff inset +} + +.chosen-container-active.chosen-with-drop .chosen-single div { + border-left: none; + background: transparent +} + +.chosen-container-active.chosen-with-drop .chosen-single div b { + background-position: -18px 2px +} + +.chosen-container-active .chosen-choices { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) +} + +.chosen-container-active .chosen-choices li.search-field input[type="text"] { + color: #222 !important +} + +.chosen-disabled { + opacity: 0.5 !important; + cursor: default +} + +.chosen-disabled .chosen-single { + cursor: default +} + +.chosen-disabled .chosen-choices .search-choice .search-choice-close { + cursor: default +} + +.chosen-rtl { + text-align: right +} + +.chosen-rtl .chosen-single { + overflow: visible; + padding: 0 8px 0 0 +} + +.chosen-rtl .chosen-single span { + margin-right: 0; + margin-left: 26px; + direction: rtl +} + +.chosen-rtl .chosen-single-with-deselect span { + margin-left: 38px +} + +.chosen-rtl .chosen-single div { + right: auto; + left: 3px +} + +.chosen-rtl .chosen-single abbr { + right: auto; + left: 26px +} + +.chosen-rtl .chosen-choices li { + float: right +} + +.chosen-rtl .chosen-choices li.search-field input[type="text"] { + direction: rtl +} + +.chosen-rtl .chosen-choices li.search-choice { + margin: 3px 5px 3px 0; + padding: 3px 5px 3px 19px +} + +.chosen-rtl .chosen-choices li.search-choice .search-choice-close { + right: auto; + left: 4px +} + +.chosen-rtl.chosen-container-single-nosearch .chosen-search, +.chosen-rtl .chosen-drop { + left: 9999px +} + +.chosen-rtl.chosen-container-single .chosen-results { + margin: 0 0 4px 4px; + padding: 0 4px 0 0 +} + +.chosen-rtl .chosen-results li.group-option { + padding-right: 15px; + padding-left: 0 +} + +.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div { + border-right: none +} + +.chosen-rtl .chosen-search input[type="text"] { + padding: 4px 5px 4px 20px; + background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAlCAQAAACn+wJeAAAB4UlEQVRIx+2XsWtTURTGrwouLQQDwYLFzT3yJBDoYoVvySQoKFShSHe7qAgqiMn9rcUibnVwEARBl0AgUIh/QXBxFIpKJHAhUBz0HQcf4U0xtZwu+r3l8t4758fHPe/jvhBcRIUuWbFuMKAWnEB9jEQWAk0SRt8LtMo+RmKdhDGiHrzEChOMHGPsiAkhBDbIMXKu+2KaJUfZwcsXD4RJrJFKKHaw6fVmRnmNT5ydC9TDSDRCIGOMMfh9u8pegRmzNKP8NUZvzu+oR6NY19mddqVVgG7MKL5SvHPrcJu3g/F2xvMqowKUOHMYUJXhrAa8Ku1j90/dVFFXxaypoYFqfzFR80h9mZKyENRUkskrgrSqfZmS1pVkGskvG7SiiUy5TGP5RpA2lMuUyzeC1Cw5yrwxSWtKrij1ZEpqhKBMY5kGXqCKeioiSHXtain817+k9gLLLD887ozhLl8xjGG86onZxuIe99jCsHjTCRMvYvF9+1QIIcTz8RuTzmkfP0+jdaYJHW9jXPYBvYj5/ZNlf06HxvgEYzoC8Tk5l1xAnXP8IHVam8faC3GTn3x5cMJr6q5h0fjI5+L4suU24PFCfMkHhvExHQyL20eQEfERhsVncdEfdYfvGK2jcPUOK/+A/QJb5yp50uoC6QAAAABJRU5ErkJggg==") no-repeat -30px -20px; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAlCAQAAACn+wJeAAAB4UlEQVRIx+2XsWtTURTGrwouLQQDwYLFzT3yJBDoYoVvySQoKFShSHe7qAgqiMn9rcUibnVwEARBl0AgUIh/QXBxFIpKJHAhUBz0HQcf4U0xtZwu+r3l8t4758fHPe/jvhBcRIUuWbFuMKAWnEB9jEQWAk0SRt8LtMo+RmKdhDGiHrzEChOMHGPsiAkhBDbIMXKu+2KaJUfZwcsXD4RJrJFKKHaw6fVmRnmNT5ydC9TDSDRCIGOMMfh9u8pegRmzNKP8NUZvzu+oR6NY19mddqVVgG7MKL5SvHPrcJu3g/F2xvMqowKUOHMYUJXhrAa8Ku1j90/dVFFXxaypoYFqfzFR80h9mZKyENRUkskrgrSqfZmS1pVkGskvG7SiiUy5TGP5RpA2lMuUyzeC1Cw5yrwxSWtKrij1ZEpqhKBMY5kGXqCKeioiSHXtain817+k9gLLLD887ozhLl8xjGG86onZxuIe99jCsHjTCRMvYvF9+1QIIcTz8RuTzmkfP0+jdaYJHW9jXPYBvYj5/ZNlf06HxvgEYzoC8Tk5l1xAnXP8IHVam8faC3GTn3x5cMJr6q5h0fjI5+L4suU24PFCfMkHhvExHQyL20eQEfERhsVncdEfdYfvGK2jcPUOK/+A/QJb5yp50uoC6QAAAABJRU5ErkJggg==") no-repeat -30px -20px; + direction: rtl +} + +.chosen-rtl.chosen-container-single .chosen-single div b { + background-position: 6px 2px +} + +.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b { + background-position: -12px 2px +} + +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), +only screen and (min-resolution: 144dpi), +only screen and (min-resolution: 1.5dppx) { + + .chosen-rtl .chosen-search input[type="text"], + .chosen-container-single .chosen-single abbr, + .chosen-container-single .chosen-single div b, + .chosen-container-single .chosen-search input[type="text"], + .chosen-container-multi .chosen-choices .search-choice .search-choice-close, + .chosen-container .chosen-results-scroll-down span, + .chosen-container .chosen-results-scroll-up span { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABKCAQAAAD9cdkXAAACqUlEQVRo3u2av2/TQBTHI8FQCYYguoLCyOY/IQNk6NSF3RNzBmZ04oe/JwFSp0owtSNb/oT8B8mIBIioAyuWrA7pD4fns+vkzvZQ1+3lne57UoZXJfan79333ovT6zGTDGUsg0o0oGjY4yfCWdEykBROFg954hhIJQ4/pI0bL5E0HIryAgpMpGqEW9HpAAktzjg1SNxxGpH44hRIiYaTsMZxDsixknPMFKzaNgSEQwcrBtklMLDW+mBRV5lYtAaaqvdPrTWnGNYCDdtdOtq/+oRo39r4gEkFZ9LusqK/zjcWom9pwKOq1w0xbrsDILR/i7Bmit3cSG4H2icN7CEturIDDWhqD2jYnR1srm6t4XpIk5vYQff2b2oUjuJRxRRGAUXDph0Qt7eD2xbhrGgZSAoni4d31LJ0jGMglTjNSNuqjRsvkTQcivICCkykaoTZ+GAAJLQ449QgccdpROKLUyAlGk7CGsc5IMdKzjFTcMy2nTtY3Wt9XGtOW44PW490vQHPy8vLy8vLy2ubJfrRGHP6RjxVaxaNu31kdseipxdXj93SYq3kP4tPL24mhAqAMHApL+QFvRZQCHlmJ8/MGX7jtXz64Yl8K39hmUOyy5Loq2JLcYoDsVNCPpbfcKqyFDPbS9FYldpSftHjr+7JQ5xnWYrGrIDkLNs5+PnmQSV3OzhR+2jOC0jtn/os4F1uD+yAcPn+Wd3fPr4kz2MK9NwpoMaSkwxLrmh3foiHFVPYxYkCmnGz7fxQ/SruGx53zNK21cGaqoP1WOyWeXskv6uDdYUluyaVWh/V5OAcf+QnvIj28Bl/8+woyzji2JwWranWnK5/YsMPqRgf0o3hgYqNNVI24GVtUL4wzwY8HLFGqi1Gj8QNae4ckiPfCa2Req5I9XyNv1n+D6RKWo1cTsbTAAAAAElFTkSuQmCC") !important; + background-size: 52px 37px !important; + background-repeat: no-repeat !important + } +} + +.chosen-container { + width: 100% !important; + padding-top: 6px +} + +input.placeholdered { + box-sizing: border-box; + width: 100%; + height: -webkit-calc(3em + 2px); + height: calc(3em + 2px); + margin: 0 0 1em; + padding: 1em; + border: none; + border-radius: 4px; + background: #fff; + resize: none; + outline: none +} + +input.placeholdered[required]:focus { + border-color: #00bafa +} + +input.placeholdered[required]:focus+label[placeholder]:before { + color: #ffffff +} + +input.placeholdered[required]:focus+label[placeholder]:before, +input.placeholdered[required]:valid+label[placeholder]:before { + transition-duration: .2s; + -ms-transform: translate(0, -2.5em) scale(0.9, 0.9); + transform: translate(0, -2.5em) scale(0.9, 0.9) +} + +input.placeholdered[required]:invalid+label[placeholder][alt]:before { + content: attr(alt) +} + +input.placeholdered[required]+label[placeholder] { + display: block; + pointer-events: none; + line-height: 1em; + line-height: 0px; + margin-top: -webkit-calc(-3em - 2px); + margin-top: calc(-3em - 2px); + margin-bottom: -webkit-calc((3em - 1em) + 2px); + margin-bottom: calc((3em - 1em) + 2px) +} + +input.placeholdered[required]+label[placeholder]:before { + content: attr(placeholder); + display: inline-block; + margin: 0 -webkit-calc(1em + 2px); + margin: 0 12px; + padding: 0 2px; + color: #7F8C8D; + white-space: nowrap; + transition: 0.3s ease-in-out; + background-size: 100% 5px; + background-repeat: no-repeat; + background-position: center +} + +input:-webkit-autofill { + background-color: #fff !important +} + +svg.nvd3-svg { + -khtml-user-select: none; + -ms-user-select: none; + user-select: none; + display: block +} + +.nvtooltip.with-3d-shadow, +.with-3d-shadow .nvtooltip { + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + border-radius: 5px +} + +.nvtooltip { + position: absolute; + background-color: white; + padding: 1px; + border: 1px solid rgba(0, 0, 0, 0.2); + z-index: 10000; + font-family: Arial; + font-size: 13px; + text-align: left; + pointer-events: none; + white-space: nowrap; + -khtml-user-select: none; + -ms-user-select: none; + user-select: none +} + +.nvtooltip.with-transitions, +.with-transitions .nvtooltip { + transition: opacity 50ms linear; + transition-delay: 200ms; +} + +.nvtooltip.x-nvtooltip, +.nvtooltip.y-nvtooltip { + padding: 8px +} + +.nvtooltip h3 { + margin: 0; + padding: 4px 14px; + line-height: 18px; + font-weight: normal; + background-color: rgba(247, 247, 247, 0.75); + text-align: center; + border-bottom: 1px solid #ebebeb; + border-radius: 1px 5px 0 0 +} + +.nvtooltip p { + margin: 0; + padding: 5px 14px; + text-align: center +} + +.nvtooltip span { + display: inline-block; + margin: 2px 0 +} + +.nvtooltip table { + margin: 6px; + border-spacing: 0 +} + +.nvtooltip table td { + padding: 2px 9px 2px 0; + vertical-align: middle +} + +.nvtooltip table td.key { + font-weight: normal +} + +.nvtooltip table td.value { + text-align: right; + font-weight: bold +} + +.nvtooltip table tr.highlight td { + padding: 1px 9px 1px 0; + border-bottom-style: solid; + border-bottom-width: 1px; + border-top-style: solid; + border-top-width: 1px +} + +.nvtooltip table td.legend-color-guide div { + width: 8px; + height: 8px; + vertical-align: middle +} + +.nvtooltip .footer { + padding: 3px; + text-align: center +} + +.nvtooltip-pending-removal { + position: absolute; + pointer-events: none +} + +.nvd3 text { + font: normal 12px Arial +} + +.nvd3 .nv-background { + fill: white; + fill-opacity: 0 +} + +.nvd3.nv-noData { + font-size: 18px; + font-weight: bold +} + +.nv-brush .extent { + fill-opacity: .125; + shape-rendering: crispEdges +} + +.nvd3 .nv-legend .nv-series { + cursor: pointer +} + +.nvd3 .nv-legend .disabled circle { + fill-opacity: 0 +} + +.nvd3 .nv-axis { + pointer-events: none +} + +.nvd3 .nv-axis path { + fill: none; + stroke: #000; + stroke-opacity: .75; + shape-rendering: crispEdges +} + +.nvd3 .nv-axis path.domain { + stroke-opacity: .75 +} + +.nvd3 .nv-axis.nv-x path.domain { + stroke-opacity: 0 +} + +.nvd3 .nv-axis line { + fill: none; + stroke: #e5e5e5; + shape-rendering: crispEdges +} + +.nvd3 .nv-axis .zero line, +.nvd3 .nv-axis line.zero { + stroke-opacity: .75 +} + +.nvd3 .nv-axis .nv-axisMaxMin text { + font-weight: bold +} + +.nvd3 .x .nv-axis .nv-axisMaxMin text, +.nvd3 .x2 .nv-axis .nv-axisMaxMin text, +.nvd3 .x3 .nv-axis .nv-axisMaxMin text { + text-anchor: middle +} + +.nv-brush .resize path { + fill: #eee; + stroke: #666 +} + +.nvd3 .nv-bars .negative rect { + zfill: brown +} + +.nvd3 .nv-bars rect { + zfill: steelblue; + fill-opacity: .75; + transition: fill-opacity 250ms linear; +} + +.nvd3 .nv-bars rect.hover { + fill-opacity: 1 +} + +.nvd3 .nv-bars .hover rect { + fill: lightblue +} + +.nvd3 .nv-bars text { + fill: transparent +} + +.nvd3 .nv-bars .hover text { + fill: black +} + +.nvd3 .nv-multibar .nv-groups rect, +.nvd3 .nv-multibarHorizontal .nv-groups rect, +.nvd3 .nv-discretebar .nv-groups rect { + stroke-opacity: 0; + transition: fill-opacity 250ms linear; +} + +.nvd3 .nv-multibar .nv-groups rect:hover, +.nvd3 .nv-multibarHorizontal .nv-groups rect:hover, +.nvd3 .nv-discretebar .nv-groups rect:hover { + fill-opacity: 1 +} + +.nvd3 .nv-discretebar .nv-groups text, +.nvd3 .nv-multibarHorizontal .nv-groups text { + font-weight: bold; + fill: black; + stroke: transparent +} + +.nvd3.nv-pie path { + stroke-opacity: 0; + transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear; +} + +.nvd3.nv-pie .nv-pie-title { + font-size: 24px; + fill: rgba(19, 196, 249, 0.59) +} + +.nvd3.nv-pie .nv-slice text { + stroke: #000; + stroke-width: 0 +} + +.nvd3.nv-pie path { + stroke: #fff; + stroke-width: 1px; + stroke-opacity: 1 +} + +.nvd3.nv-pie .hover path { + fill-opacity: .7 +} + +.nvd3.nv-pie .nv-label { + pointer-events: none +} + +.nvd3.nv-pie .nv-label rect { + fill-opacity: 0; + stroke-opacity: 0 +} + +.nvd3 .nv-groups path.nv-line { + fill: none; + stroke-width: 1.5px +} + +.nvd3 .nv-groups path.nv-line.nv-thin-line { + stroke-width: 1px +} + +.nvd3 .nv-groups path.nv-area { + stroke: none +} + +.nvd3 .nv-line.hover path { + stroke-width: 6px +} + +.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point { + fill-opacity: 0; + stroke-opacity: 0 +} + +.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point { + fill-opacity: .5 !important; + stroke-opacity: .5 !important +} + +.with-transitions .nvd3 .nv-groups .nv-point { + transition: stroke-width 250ms linear, stroke-opacity 250ms linear; +} + +.nvd3.nv-scatter .nv-groups .nv-point.hover, +.nvd3 .nv-groups .nv-point.hover { + stroke-width: 7px; + fill-opacity: .95 !important; + stroke-opacity: .95 !important +} + +.nvd3 .nv-point-paths path { + stroke: #aaa; + stroke-opacity: 0; + fill: #eee; + fill-opacity: 0 +} + +.nvd3 .nv-indexLine { + cursor: ew-resize +} + +.nvd3 .nv-distribution { + pointer-events: none +} + +.nvd3 .nv-groups .nv-point.hover { + stroke-width: 20px; + stroke-opacity: .5 +} + +.nvd3 .nv-scatter .nv-point.hover { + fill-opacity: 1 +} + +.nvd3.nv-stackedarea path.nv-area { + fill-opacity: .7; + stroke-opacity: 0; + transition: fill-opacity 250ms linear, stroke-opacity 250ms linear; +} + +.nvd3.nv-stackedarea path.nv-area.hover { + fill-opacity: .9 +} + +.nvd3.nv-stackedarea .nv-groups .nv-point { + stroke-opacity: 0; + fill-opacity: 0 +} + +.nvd3.nv-linePlusBar .nv-bar rect { + fill-opacity: .75 +} + +.nvd3.nv-linePlusBar .nv-bar rect:hover { + fill-opacity: 1 +} + +.nvd3.nv-bullet { + font: 10px sans-serif +} + +.nvd3.nv-bullet .nv-measure { + fill-opacity: .8 +} + +.nvd3.nv-bullet .nv-measure:hover { + fill-opacity: 1 +} + +.nvd3.nv-bullet .nv-marker { + stroke: #000; + stroke-width: 2px +} + +.nvd3.nv-bullet .nv-markerTriangle { + stroke: #000; + fill: #fff; + stroke-width: 1.5px +} + +.nvd3.nv-bullet .nv-tick line { + stroke: #666; + stroke-width: .5px +} + +.nvd3.nv-bullet .nv-range.nv-s0 { + fill: #eee +} + +.nvd3.nv-bullet .nv-range.nv-s1 { + fill: #ddd +} + +.nvd3.nv-bullet .nv-range.nv-s2 { + fill: #ccc +} + +.nvd3.nv-bullet .nv-title { + font-size: 14px; + font-weight: bold +} + +.nvd3.nv-bullet .nv-subtitle { + fill: #999 +} + +.nvd3.nv-bullet .nv-range { + fill: #bababa; + fill-opacity: .4 +} + +.nvd3.nv-bullet .nv-range:hover { + fill-opacity: .7 +} + +.nvd3.nv-sparkline path { + fill: none +} + +.nvd3.nv-sparklineplus g.nv-hoverValue { + pointer-events: none +} + +.nvd3.nv-sparklineplus .nv-hoverValue line { + stroke: #333; + stroke-width: 1.5px +} + +.nvd3.nv-sparklineplus, +.nvd3.nv-sparklineplus g { + pointer-events: all +} + +.nvd3 .nv-hoverArea { + fill-opacity: 0; + stroke-opacity: 0 +} + +.nvd3.nv-sparklineplus .nv-xValue, +.nvd3.nv-sparklineplus .nv-yValue { + stroke-width: 0; + font-size: .9em; + font-weight: normal +} + +.nvd3.nv-sparklineplus .nv-yValue { + stroke: #f66 +} + +.nvd3.nv-sparklineplus .nv-maxValue { + stroke: #2ca02c; + fill: #2ca02c +} + +.nvd3.nv-sparklineplus .nv-minValue { + stroke: #d62728; + fill: #d62728 +} + +.nvd3.nv-sparklineplus .nv-currentValue { + font-weight: bold; + font-size: 1.1em +} + +.nvd3.nv-ohlcBar .nv-ticks .nv-tick { + stroke-width: 2px +} + +.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover { + stroke-width: 4px +} + +.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive { + stroke: #2ca02c +} + +.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative { + stroke: #d62728 +} + +.nvd3.nv-historicalStockChart .nv-axis .nv-axislabel { + font-weight: bold +} + +.nvd3.nv-historicalStockChart .nv-dragTarget { + fill-opacity: 0; + stroke: none; + cursor: move +} + +.nvd3 .nv-brush .extent { + fill-opacity: 0 !important +} + +.nvd3 .nv-brushBackground rect { + stroke: #000; + stroke-width: .4; + fill: #fff; + fill-opacity: .7 +} + +.nvd3 .background path { + fill: none; + stroke: #ccc; + stroke-opacity: .4; + shape-rendering: crispEdges +} + +.nvd3 .foreground path { + fill: none; + stroke: steelblue; + stroke-opacity: .7 +} + +.nvd3 .brush .extent { + fill-opacity: .3; + stroke: #fff; + shape-rendering: crispEdges +} + +.nvd3 .axis line, +.axis path { + fill: none; + stroke: #000; + shape-rendering: crispEdges +} + +.nvd3 .axis text { + text-shadow: 0 1px 0 #fff +} + +.nvd3 .nv-interactiveGuideLine { + pointer-events: none +} + +.nvd3 line.nv-guideline { + stroke: #ccc +} + +.emoji { + width: 1.2em; + height: 1.2em; + display: inline-block; + margin-bottom: 0; + background-position: 50% 50%; + background-size: cover +} + +.flag { + width: 16px; + height: 11px; + background: url(/assets/flags-9bb25fb7788587d4d6dc12d70e89e7aff8c24dfbda518e8bd8325803f415d21a.png) no-repeat; + display: inline-block +} + +.flag.flag-ad { + background-position: -16px 0 +} + +.flag.flag-ae { + background-position: -32px 0 +} + +.flag.flag-af { + background-position: -48px 0 +} + +.flag.flag-ag { + background-position: -64px 0 +} + +.flag.flag-ai { + background-position: -80px 0 +} + +.flag.flag-al { + background-position: -96px 0 +} + +.flag.flag-am { + background-position: -112px 0 +} + +.flag.flag-hy { + background-position: -112px 0 +} + +.flag.flag-an { + background-position: -128px 0 +} + +.flag.flag-ao { + background-position: -144px 0 +} + +.flag.flag-ar { + background-position: -160px 0 +} + +.flag.flag-as { + background-position: -176px 0 +} + +.flag.flag-at { + background-position: -192px 0 +} + +.flag.flag-au { + background-position: -208px 0 +} + +.flag.flag-aw { + background-position: -224px 0 +} + +.flag.flag-az { + background-position: -240px 0 +} + +.flag.flag-ba { + background-position: 0 -11px +} + +.flag.flag-bb { + background-position: -16px -11px +} + +.flag.flag-bd { + background-position: -32px -11px +} + +.flag.flag-be { + background-position: -48px -11px +} + +.flag.flag-bf { + background-position: -64px -11px +} + +.flag.flag-bg { + background-position: -80px -11px +} + +.flag.flag-bh { + background-position: -96px -11px +} + +.flag.flag-bi { + background-position: -112px -11px +} + +.flag.flag-bj { + background-position: -128px -11px +} + +.flag.flag-bm { + background-position: -144px -11px +} + +.flag.flag-bn { + background-position: -160px -11px +} + +.flag.flag-bo { + background-position: -176px -11px +} + +.flag.flag-br { + background-position: -192px -11px +} + +.flag.flag-pt_br { + background-position: -192px -11px +} + +.flag.flag-bs { + background-position: -208px -11px +} + +.flag.flag-bt { + background-position: -224px -11px +} + +.flag.flag-bv { + background-position: -240px -11px +} + +.flag.flag-bw { + background-position: 0 -22px +} + +.flag.flag-by { + background-position: -16px -22px +} + +.flag.flag-bz { + background-position: -32px -22px +} + +.flag.flag-ca { + background-position: -48px -22px +} + +.flag.flag-catalonia { + background-position: -64px -22px +} + +.flag.flag-ca_es { + background-position: -64px -22px +} + +.flag.flag-cd { + background-position: -80px -22px +} + +.flag.flag-cf { + background-position: -96px -22px +} + +.flag.flag-cg { + background-position: -112px -22px +} + +.flag.flag-ch { + background-position: -128px -22px +} + +.flag.flag-ci { + background-position: -144px -22px +} + +.flag.flag-ck { + background-position: -160px -22px +} + +.flag.flag-cl { + background-position: -176px -22px +} + +.flag.flag-cm { + background-position: -192px -22px +} + +.flag.flag-cn { + background-position: -208px -22px +} + +.flag.flag-co { + background-position: -224px -22px +} + +.flag.flag-cr { + background-position: -240px -22px +} + +.flag.flag-cu { + background-position: 0 -33px +} + +.flag.flag-cv { + background-position: -16px -33px +} + +.flag.flag-cw { + background-position: -32px -33px +} + +.flag.flag-cy { + background-position: -48px -33px +} + +.flag.flag-cz { + background-position: -64px -33px +} + +.flag.flag-de { + background-position: -80px -33px +} + +.flag.flag-dj { + background-position: -96px -33px +} + +.flag.flag-dk { + background-position: -112px -33px +} + +.flag.flag-dm { + background-position: -128px -33px +} + +.flag.flag-do { + background-position: -144px -33px +} + +.flag.flag-dz { + background-position: -160px -33px +} + +.flag.flag-ec { + background-position: -176px -33px +} + +.flag.flag-ee { + background-position: -192px -33px +} + +.flag.flag-eg { + background-position: -208px -33px +} + +.flag.flag-eh { + background-position: -224px -33px +} + +.flag.flag-england { + background-position: -240px -33px +} + +.flag.flag-er { + background-position: 0 -44px +} + +.flag.flag-es { + background-position: -16px -44px +} + +.flag.flag-et { + background-position: -32px -44px +} + +.flag.flag-eu { + background-position: -48px -44px +} + +.flag.flag-fi { + background-position: -64px -44px +} + +.flag.flag-fj { + background-position: -80px -44px +} + +.flag.flag-fk { + background-position: -96px -44px +} + +.flag.flag-fm { + background-position: -112px -44px +} + +.flag.flag-fo { + background-position: -128px -44px +} + +.flag.flag-fr { + background-position: -144px -44px +} + +.flag.flag-ga { + background-position: -160px -44px +} + +.flag.flag-en { + background-position: -176px -44px +} + +.flag.flag-gd { + background-position: -192px -44px +} + +.flag.flag-ge { + background-position: -208px -44px +} + +.flag.flag-gf { + background-position: -224px -44px +} + +.flag.flag-gg { + background-position: -240px -44px +} + +.flag.flag-gh { + background-position: 0 -55px +} + +.flag.flag-gi { + background-position: -16px -55px +} + +.flag.flag-gl { + background-position: -32px -55px +} + +.flag.flag-gm { + background-position: -48px -55px +} + +.flag.flag-gn { + background-position: -64px -55px +} + +.flag.flag-gp { + background-position: -80px -55px +} + +.flag.flag-gq { + background-position: -96px -55px +} + +.flag.flag-gr { + background-position: -112px -55px +} + +.flag.flag-gs { + background-position: -128px -55px +} + +.flag.flag-gt { + background-position: -144px -55px +} + +.flag.flag-gu { + background-position: -160px -55px +} + +.flag.flag-gw { + background-position: -176px -55px +} + +.flag.flag-gy { + background-position: -192px -55px +} + +.flag.flag-hk { + background-position: -208px -55px +} + +.flag.flag-hm { + background-position: -224px -55px +} + +.flag.flag-hn { + background-position: -240px -55px +} + +.flag.flag-hr { + background-position: 0 -66px +} + +.flag.flag-ht { + background-position: -16px -66px +} + +.flag.flag-hu { + background-position: -32px -66px +} + +.flag.flag-ic { + background-position: -48px -66px +} + +.flag.flag-id { + background-position: -64px -66px +} + +.flag.flag-ie { + background-position: -80px -66px +} + +.flag.flag-il { + background-position: -96px -66px +} + +.flag.flag-im { + background-position: -112px -66px +} + +.flag.flag-in { + background-position: -128px -66px +} + +.flag.flag-io { + background-position: -144px -66px +} + +.flag.flag-iq { + background-position: -160px -66px +} + +.flag.flag-ir { + background-position: -176px -66px +} + +.flag.flag-is { + background-position: -192px -66px +} + +.flag.flag-it { + background-position: -208px -66px +} + +.flag.flag-je { + background-position: -224px -66px +} + +.flag.flag-jm { + background-position: -240px -66px +} + +.flag.flag-jo { + background-position: 0 -77px +} + +.flag.flag-jp { + background-position: -16px -77px +} + +.flag.flag-ja { + background-position: -16px -77px +} + +.flag.flag-ke { + background-position: -32px -77px +} + +.flag.flag-kg { + background-position: -48px -77px +} + +.flag.flag-kh { + background-position: -64px -77px +} + +.flag.flag-ki { + background-position: -80px -77px +} + +.flag.flag-km { + background-position: -96px -77px +} + +.flag.flag-kn { + background-position: -112px -77px +} + +.flag.flag-kp { + background-position: -128px -77px +} + +.flag.flag-kr { + background-position: -144px -77px +} + +.flag.flag-ko { + background-position: -144px -77px +} + +.flag.flag-kurdistan { + background-position: -160px -77px +} + +.flag.flag-kw { + background-position: -176px -77px +} + +.flag.flag-ky { + background-position: -192px -77px +} + +.flag.flag-kz { + background-position: -208px -77px +} + +.flag.flag-la { + background-position: -224px -77px +} + +.flag.flag-lb { + background-position: -240px -77px +} + +.flag.flag-lc { + background-position: 0 -88px +} + +.flag.flag-li { + background-position: -16px -88px +} + +.flag.flag-lk { + background-position: -32px -88px +} + +.flag.flag-lr { + background-position: -48px -88px +} + +.flag.flag-ls { + background-position: -64px -88px +} + +.flag.flag-lt { + background-position: -80px -88px +} + +.flag.flag-lu { + background-position: -96px -88px +} + +.flag.flag-lv { + background-position: -112px -88px +} + +.flag.flag-ly { + background-position: -128px -88px +} + +.flag.flag-ma { + background-position: -144px -88px +} + +.flag.flag-mc { + background-position: -160px -88px +} + +.flag.flag-md { + background-position: -176px -88px +} + +.flag.flag-me { + background-position: -192px -88px +} + +.flag.flag-mg { + background-position: -208px -88px +} + +.flag.flag-mh { + background-position: -224px -88px +} + +.flag.flag-mk { + background-position: -240px -88px +} + +.flag.flag-ml { + background-position: 0 -99px +} + +.flag.flag-mm { + background-position: -16px -99px +} + +.flag.flag-mn { + background-position: -32px -99px +} + +.flag.flag-mo { + background-position: -48px -99px +} + +.flag.flag-mp { + background-position: -64px -99px +} + +.flag.flag-mq { + background-position: -80px -99px +} + +.flag.flag-mr { + background-position: -96px -99px +} + +.flag.flag-ms { + background-position: -112px -99px +} + +.flag.flag-mt { + background-position: -128px -99px +} + +.flag.flag-mu { + background-position: -144px -99px +} + +.flag.flag-mv { + background-position: -160px -99px +} + +.flag.flag-mw { + background-position: -176px -99px +} + +.flag.flag-mx { + background-position: -192px -99px +} + +.flag.flag-my { + background-position: -208px -99px +} + +.flag.flag-mz { + background-position: -224px -99px +} + +.flag.flag-na { + background-position: -240px -99px +} + +.flag.flag-nc { + background-position: 0 -110px +} + +.flag.flag-ne { + background-position: -16px -110px +} + +.flag.flag-nf { + background-position: -32px -110px +} + +.flag.flag-ng { + background-position: -48px -110px +} + +.flag.flag-ni { + background-position: -64px -110px +} + +.flag.flag-nl { + background-position: -80px -110px +} + +.flag.flag-no { + background-position: -96px -110px +} + +.flag.flag-np { + background-position: -112px -110px +} + +.flag.flag-nr { + background-position: -128px -110px +} + +.flag.flag-nu { + background-position: -144px -110px +} + +.flag.flag-nz { + background-position: -160px -110px +} + +.flag.flag-om { + background-position: -176px -110px +} + +.flag.flag-pa { + background-position: -192px -110px +} + +.flag.flag-pe { + background-position: -208px -110px +} + +.flag.flag-pf { + background-position: -224px -110px +} + +.flag.flag-pg { + background-position: -240px -110px +} + +.flag.flag-ph { + background-position: 0 -121px +} + +.flag.flag-pk { + background-position: -16px -121px +} + +.flag.flag-pl { + background-position: -32px -121px +} + +.flag.flag-pm { + background-position: -48px -121px +} + +.flag.flag-pn { + background-position: -64px -121px +} + +.flag.flag-pr { + background-position: -80px -121px +} + +.flag.flag-ps { + background-position: -96px -121px +} + +.flag.flag-pt { + background-position: -112px -121px +} + +.flag.flag-pw { + background-position: -128px -121px +} + +.flag.flag-py { + background-position: -144px -121px +} + +.flag.flag-qa { + background-position: -160px -121px +} + +.flag.flag-re { + background-position: -176px -121px +} + +.flag.flag-ro { + background-position: -192px -121px +} + +.flag.flag-rs { + background-position: -208px -121px +} + +.flag.flag-ru { + background-position: -224px -121px +} + +.flag.flag-rw { + background-position: -240px -121px +} + +.flag.flag-sa { + background-position: 0 -132px +} + +.flag.flag-sb { + background-position: -16px -132px +} + +.flag.flag-sc { + background-position: -32px -132px +} + +.flag.flag-scotland { + background-position: -48px -132px +} + +.flag.flag-sd { + background-position: -64px -132px +} + +.flag.flag-se { + background-position: -80px -132px +} + +.flag.flag-sg { + background-position: -96px -132px +} + +.flag.flag-sh { + background-position: -112px -132px +} + +.flag.flag-si { + background-position: -128px -132px +} + +.flag.flag-sk { + background-position: -144px -132px +} + +.flag.flag-sl { + background-position: -160px -132px +} + +.flag.flag-sm { + background-position: -176px -132px +} + +.flag.flag-sn { + background-position: -192px -132px +} + +.flag.flag-so { + background-position: -208px -132px +} + +.flag.flag-somaliland { + background-position: -224px -132px +} + +.flag.flag-sr { + background-position: -240px -132px +} + +.flag.flag-ss { + background-position: 0 -143px +} + +.flag.flag-st { + background-position: -16px -143px +} + +.flag.flag-sv { + background-position: -32px -143px +} + +.flag.flag-sx { + background-position: -48px -143px +} + +.flag.flag-sy { + background-position: -64px -143px +} + +.flag.flag-sz { + background-position: -80px -143px +} + +.flag.flag-tc { + background-position: -96px -143px +} + +.flag.flag-td { + background-position: -112px -143px +} + +.flag.flag-tf { + background-position: -128px -143px +} + +.flag.flag-tg { + background-position: -144px -143px +} + +.flag.flag-th { + background-position: -160px -143px +} + +.flag.flag-tibet { + background-position: -176px -143px +} + +.flag.flag-tj { + background-position: -192px -143px +} + +.flag.flag-tk { + background-position: -208px -143px +} + +.flag.flag-tl { + background-position: -224px -143px +} + +.flag.flag-tm { + background-position: -240px -143px +} + +.flag.flag-tn { + background-position: 0 -154px +} + +.flag.flag-to { + background-position: -16px -154px +} + +.flag.flag-tr { + background-position: -32px -154px +} + +.flag.flag-tt { + background-position: -48px -154px +} + +.flag.flag-tv { + background-position: -64px -154px +} + +.flag.flag-tw { + background-position: -80px -154px +} + +.flag.flag-tz { + background-position: -96px -154px +} + +.flag.flag-ua, +.flag.flag-uk { + background-position: -112px -154px +} + +.flag.flag-ug { + background-position: -128px -154px +} + +.flag.flag-um { + background-position: -144px -154px +} + +.flag.flag-us { + background-position: -160px -154px +} + +.flag.flag-uy { + background-position: -176px -154px +} + +.flag.flag-uz { + background-position: -192px -154px +} + +.flag.flag-va { + background-position: -208px -154px +} + +.flag.flag-vc { + background-position: -224px -154px +} + +.flag.flag-ve { + background-position: -240px -154px +} + +.flag.flag-vg { + background-position: 0 -165px +} + +.flag.flag-vi { + background-position: -16px -165px +} + +.flag.flag-vn { + background-position: -32px -165px +} + +.flag.flag-vu { + background-position: -48px -165px +} + +.flag.flag-wales { + background-position: -64px -165px +} + +.flag.flag-wf { + background-position: -80px -165px +} + +.flag.flag-ws { + background-position: -96px -165px +} + +.flag.flag-xk { + background-position: -112px -165px +} + +.flag.flag-ye { + background-position: -128px -165px +} + +.flag.flag-yt { + background-position: -144px -165px +} + +.flag.flag-za { + background-position: -160px -165px +} + +.flag.flag-zanzibar { + background-position: -176px -165px +} + +.flag.flag-zm { + background-position: -192px -165px +} + +.flag.flag-zw { + background-position: -208px -165px +} + +body { + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + color: #2c2c34; + background: #fafafa +} + +h1, +h2, +h3, +h4, +h5 { + color: #2c2c34 +} + +#searched_form::after { + clear: both; + display: block; + content: ' '; + width: 100%; + border: 1px solid #eee +} + +.page { + height: 100%; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.page .page-content { + margin-right: 15px; + margin-left: 15px; + padding-left: 15px; + padding-right: 15px; + flex-shrink: 1; + -ms-flex-negative: 1; + flex-grow: 1; + -ms-flex-positive: 1; + position: relative; + left: 0px; + -o-transition: all 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95); + transition: all 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95) +} + +.page .page-content:before, +.page .page-content:after { + content: " "; + display: table +} + +.page .page-content:after { + clear: both +} + +@media (max-width: 480px) { + .page .page-content { + flex: none; + display: block; + width: 100%; + margin: 0; + padding: 0; + background: whitesmoke + } +} + +@media (min-width: 768px) { + .page .page-content { + flex-basis: 750px; + -ms-flex-preferred-size: 750px; + margin: 0 + } +} + +@media (min-width: 992px) { + .page .page-content { + flex-basis: 970px; + -ms-flex-preferred-size: 970px + } +} + +@media (min-width: 1600px) { + .page .page-content { + flex-basis: 1170px; + -ms-flex-preferred-size: 1170px + } +} + +.page .page-content.page-content-fluid { + flex: 1 1 100%; + z-index: 20; + margin-left: 80px +} + +@media (max-width: 1900px) { + .page .page-content.page-content-fluid { + margin-left: 80px + } +} + +@media (max-width: 1600px) { + .page .page-content.page-content-fluid { + margin-left: 80px + } +} + +@media (max-width: 1599px) { + .page .page-content.page-content-fluid { + margin-left: 80px + } +} + +@media (max-width: 768px) { + .page .page-content.page-content-fluid { + margin-left: 0px; + margin-right: 0 + } +} + +@media (max-width: 480px) { + .page .page-content.page-content-fluid { + margin-left: 0; + margin-right: 0 + } +} + +.page .page-sidebar { + flex: 1 100% 1 +} + +@media (max-width: 768px) { + .page .page-sidebar.opened+.page-content-fluid { + left: 80px; + z-index: 10 + } +} + +@media (max-width: 768px) { + .page { + margin-top: 0px + } +} + +@media (max-width: 480px) { + .page { + margin-top: 50px + } +} + +.page-content { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px +} + +.page-content:before, +.page-content:after { + content: " "; + display: table +} + +.page-content:after { + clear: both +} + +@media (min-width: 768px) { + .page-content { + width: 750px + } +} + +@media (min-width: 992px) { + .page-content { + width: 970px + } +} + +@media (min-width: 1600px) { + .page-content { + width: 1170px + } +} + +.packer-middle { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center +} + +.packer-middle>.packer-item { + flex: 1 +} + +.packer-middle>.packer-item-2 { + flex: 2 +} + +.packer-middle>.packer-item-3 { + flex: 3 +} + +.packer-middle>.packer-item-4 { + flex: 4 +} + +.packer-middle>.packer-item-5 { + flex: 5 +} + +.packer-middle>.packer-item-6 { + flex: 6 +} + +.packer-middle>.packer-item-7 { + flex: 7 +} + +.packer-middle>.packer-item-8 { + flex: 8 +} + +.packer-middle>.packer-item-9 { + flex: 9 +} + +.packer-middle>.packer-item-10 { + flex: 10 +} + +.packer-middle>.packer-item-11 { + flex: 11 +} + +.packer-middle>.packer-item-12 { + flex: 12 +} + +@media (max-width: 1599px) { + body { + font-size: 14px + } +} + +.big-title { + font-weight: 700; + margin-bottom: 20px; + text-transform: uppercase +} + +.title-bar { + border-top: solid; + border-width: 5px; + min-width: 100px; + display: inline-block +} + +.main-title, +.page-header { + margin: 0px 0 0; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + color: #5b5b60; + font-size: 23px; + padding-bottom: 25px +} + +@media (max-width: 768px) { + + .main-title, + .page-header { + font-size: 18px + } +} + +@media (max-width: 480px) { + + .main-title, + .page-header { + font-size: 16px + } +} + +.main-title>.btn, +.page-header>.btn { + margin: 5px; + padding: 2px 5px +} + +.main-title.primary, +.page-header.primary { + padding-bottom: 25px +} + +@media (max-width: 1599px) { + h4 { + font-size: 14px + } +} + +h4.main-title { + color: #00babc; + font-weight: 400; + padding-bottom: 25px; + font-size: 20px +} + +@media (max-width: 768px) { + h4.main-title { + font-size: 16px; + padding-bottom: 20px + } +} + +.light-title { + margin: 5px 0; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + color: #5b5b60; + font-size: 23px; + font-weight: 300 +} + +@media (max-width: 768px) { + .light-title { + font-size: 18px + } +} + +@media (max-width: 480px) { + .light-title { + font-size: 16px; + text-align: center + } +} + +.note-title { + color: rgba(32, 32, 38, 0.2); + font-weight: 400; + margin: 5px 0; + text-align: center; + text-transform: uppercase; + font-size: 1.5em; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif" +} + +@media (max-width: 480px) { + .note-title { + text-align: center; + font-size: 1.7em + } +} + +.counter-item-title { + font-size: 18px; + font-weight: 700; + color: #67676d +} + +.simple-link { + font-size: 0.8em +} + +.simple-link:hover, +.simple-link:active, +.simple-link:focus { + text-decoration: none +} + +h1.note-title, +h2.note-title, +h3.note-title { + margin: 20px auto +} + +h6 { + color: #00babc; + font-size: 16px; + font-weight: 700; + margin-bottom: 25px +} + +.very-big-icon { + font-size: 70px; + color: rgba(32, 32, 38, 0.2) +} + +.big-info { + font-size: 30px +} + +.marked-title { + color: #35353b; + font-weight: 700; + margin: 8px 0 5px; + text-transform: normal; + font-size: 13px; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif" +} + +@media (max-width: 1599px) { + .marked-title { + font-size: 12px + } +} + +.marked-title.small { + font-size: .7em +} + +.marked-title b { + font-weight: 300; + font-style: italic +} + +.on-grey { + margin: 0px; + background: rgba(53, 53, 59, 0.05) +} + +.container-item>h1.on-grey, +.container-item>h2.on-grey, +.container-item>h3.on-grey { + margin: 0px; + padding: 10px +} + +.inverse { + color: rgba(255, 255, 255, 0.2) +} + +.profile-title { + margin-bottom: 15px; + font-size: 0.9em +} + +.profile-title a.simple-link { + font-size: 18px; + color: #00babc; + border: 1px solid rgba(0, 186, 188, 0.7); + padding-left: 10px; + padding-right: 10px; + padding-top: 5px; + padding-bottom: 5px +} + +.profile-title a:hover.simple-link { + color: #5b5b60; + border: 1px solid #5b5b60 +} + +.personal-information-link { + padding-left: 7px; + font-size: 0.8em +} + +.page-sidebar { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start +} + +.page-sidebar.page-sidebar-fixed-left { + position: fixed; + bottom: 0; + left: 0; + z-index: 10 +} + +.page-sidebar.page-sidebar-fixed-right { + position: fixed; + bottom: 0; + right: 0; + z-index: 10 +} + +.app-sidebar-left .marked-title { + font-family: futura, 'San Francisco', Roboto, 'Segoe UI', 'Helvetica Neue', 'Lucida Grande', sans-serif; + color: #fff; + padding: 10px 4px +} + +.notifications-flash-top-bar { + position: absolute; + z-index: 210; + left: 0; + right: 0 +} + +.notifications-flash-top-bar .alert { + height: 60px; + margin-bottom: 0px; + border: none; + border-radius: 0px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start +} + +.notifications-flash-top-bar .alert.alert-success { + background-color: #2BD47C +} + +.notifications-flash-top-bar .alert.alert-danger { + background-color: #BF7877 +} + +.notifications-flash-top-bar .alert-dismissable .close, +.notifications-flash-top-bar .alert-dismissible .close { + position: absolute; + top: 18px; + right: 20px; + color: #fff; + opacity: 1 +} + +.btn-group .btn.light-bg { + border-color: #cccccc +} + +.destroyed-item { + background-color: #eedbdc +} + +.bg-image-item { + background-repeat: no-repeat; + background-size: cover; + background-position: 50% 50%; + background-color: #f2f2f2 +} + +.bg-image-item.rounded { + border-radius: 50% +} + +.container-fullsize { + background: transparent; + padding-right: 15px; + padding-left: 15px +} + +@media (max-width: 768px) { + .container-fullsize { + padding-right: 0px; + padding-left: 0px + } +} + +.container-fullsize .container-inner-item { + border-radius: 3px; + margin-top: 40px; + margin-left: 10px; + margin-right: 0px; + margin-bottom: 0px; + background-color: #ffffff; + border: 1px solid #f7f7f7; + padding-top: 20px; + padding-left: 25px; + padding-right: 25px; + padding-bottom: 25px; + max-height: 415px +} + +@media (max-width: 1599px) { + .container-fullsize .container-inner-item { + margin-top: 20px; + margin-left: 0px; + margin-right: 0px + } +} + +@media (max-width: 992px) { + .container-fullsize .container-inner-item { + margin: 10px 10px 0 + } +} + +@media (max-width: 768px) { + .container-fullsize .container-inner-item { + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + border-radius: 0px; + border-left: none; + border-right: none; + border-top: none; + padding: 15px + } +} + +@media (max-width: 480px) { + .container-fullsize .container-inner-item { + margin: 0px; + background: #ffffff; + border-radius: 0px; + border-left: none; + border-right: none; + border-top: none; + padding-left: 5px; + padding-right: 5px; + padding-bottom: 15px; + padding-top: 15px; + max-height: inherit; + height: inherit + } +} + +.container-fullsize .container-inner-item .overflowable-item { + max-height: 315px; + overflow: auto; + padding: 5px; + margin-bottom: 10px +} + +@media (max-width: 1600px) { + .container-fullsize .container-inner-item .overflowable-item { + max-height: 200px + } +} + +@media (max-width: 480px) { + .container-fullsize { + padding: 0; + margin: 0 + } + + .container-fullsize .col-xs-12 { + padding-left: 0px; + padding-right: 0px + } +} + +.boxed { + height: 415px +} + +@media (max-width: 1599px) { + .boxed { + height: 315px + } +} + +@media (max-width: 480px) { + .boxed { + height: 290px + } +} + +@media (max-width: 1599px) { + .col-md-12 .boxed { + height: auto + } +} + +.container-item { + border-radius: 3px; + margin: 40px 40px 0; + background-color: #ffffff; + border: 1px solid #f7f7f7; + padding-top: 20px; + padding-left: 25px; + padding-right: 25px; + padding-bottom: 25px +} + +@media (max-width: 992px) { + .container-item { + margin: 10px 10px 0 + } +} + +@media (max-width: 768px) { + .container-item { + margin: 10px 0px 0 + } +} + +@media (max-width: 480px) { + .container-item { + margin: 0px 10px 0; + background: #ffffff + } +} + +.container-item .container-inner-item, +.container-item>.page-header, +.container-item>h1, +.container-item>h2, +.container-item>h3, +.container-item>h4, +.container-item>h5 { + padding-top: 20px; + padding-left: 25px; + padding-right: 25px +} + +@media (max-width: 1599px) { + + .container-item .container-inner-item, + .container-item>.page-header, + .container-item>h1, + .container-item>h2, + .container-item>h3, + .container-item>h4, + .container-item>h5 { + padding-top: 0px + } +} + +.container-item .container-inner-item, +.container-item>h1, +.container-item>h2, +.container-item>h3, +.container-item>h4, +.container-item>h5 { + padding-left: 0px; + padding-right: 0px +} + +.container-item .container-inner-item, +.container-item>.page-header, +.container-item>h2 { + padding-right: 0px; + padding-left: 0px +} + +.container-item .breadcrumb { + padding-top: 15px; + padding-bottom: 15px; + padding-left: 15px; + padding-right: 15px; + border-radius: 5px +} + +@media (max-width: 768px) { + .container-item .breadcrumb { + padding-top: 0px + } +} + +.container-item .light-title { + padding-top: 0px; + padding-left: 0px; + padding-right: 0px; + margin-bottom: 25px +} + +.container-item>.page-header { + padding-bottom: 25px +} + +.container-item+.container-item { + margin-top: 40px +} + +@media (max-width: 768px) { + .container-item+.container-item { + margin-top: 10px + } +} + +.container-item.full-width { + border-radius: 0; + margin-left: 0; + margin-right: 0; + margin-top: 0; + width: 100%; + border: none; + padding: 0px +} + +.container-item.fixed-height, +.container-item .fixed-height { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-lines: multiple; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + flex-shrink: 0; + -ms-flex-negative: 0; + margin-top: 15px; + margin-bottom: 15px +} + +@media (max-width: 992px) { + + .container-item.fixed-height, + .container-item .fixed-height { + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column + } +} + +.container-item .boxed { + background-color: #fff; + border: 1px solid #f7f7f7; + border-radius: 2px; + flex-grow: 1; + -ms-flex-positive: 1; + overflow-y: scroll +} + +@media (max-width: 480px) { + .container-item { + margin-left: 0; + margin-right: 0; + border-radius: 0px; + border: none; + padding-left: 15px; + padding-right: 15px + } + + .container-item.full-width { + padding-left: 0; + padding-right: 0 + } +} + +.if-no-content { + text-align: center; + margin-bottom: 25px +} + +.add-new { + margin-top: 15px; + margin-bottom: 15px +} + +.list-table { + margin-top: 15px; + margin-bottom: 15px +} + +.table:not(.table-stripped)>thead>tr>th, +.table>thead>tr>td, +.table>tbody>tr>td, +.table>tfoot>tr>th, +.table>tfoot>tr>td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border: none +} + +.table:not(.table-stripped)>tbody>tr>th { + border-bottom: 1px solid #e5e5e5; + text-transform: uppercase; + color: #00babc; + font-weight: 300; + text-align: center +} + +.table:not(.table-stripped)>tbody>tr>td { + text-align: center +} + +.table:not(.table-stripped) { + border: 1px solid #e5e5e5; + border-radius: 3px +} + +.table:not(.table-stripped) th, +.table:not(.table-stripped) td, +.table:not(.table-stripped) tr { + border: none +} + +.title-container { + display: flex; + justify-content: flex-end; + flex-direction: row +} + +.school-record-container { + display: flex; + flex-direction: row; + position: relative +} + +.school-record-button { + padding: 3px 8px; + border-radius: 3px; + border-radius: 0px; + text-transform: uppercase; + color: #00babc; + background-color: white; + font-size: 12px; + font-weight: normal !important; + border: 1px solid rgba(0, 186, 188, 0.7) +} + +.school-record-button:hover { + color: #000; + border: 1px solid black +} + +@media (max-width: 768px) { + .btn { + font-size: 12px + } +} + +.btn:active, +.btn.active { + box-shadow: none +} + +.btn.unclickable, +.btn[unclickable], +fieldset[unclickable] .btn { + cursor: default; + pointer-events: none +} + +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + opacity: 0.65; + filter: alpha(opacity=65); + box-shadow: none +} + +.btn.btn-grey { + color: #6a6a6a; + background-color: transparent; + border-color: #b7b7b7 +} + +.btn.btn-grey.invert { + color: transparent; + background-color: #6a6a6a; + border-color: transparent +} + +.btn.btn-grey.invert+.btn.invert { + margin-left: -1px +} + +.btn.btn-grey.on-active:not(.active) { + color: transparent; + background-color: transparent; + border-color: rgba(183, 183, 183, 0) +} + +.btn.btn-grey.light-bg { + color: transparent; + background-color: transparent; + border-color: transparent +} + +.btn.btn-grey.light-bg:hover:not(.active) { + color: transparent; + background-color: transparent; + border-color: rgba(183, 183, 183, 0) +} + +.btn.btn-grey:hover, +.btn.btn-grey:focus, +.btn.btn-grey.focus, +.btn.btn-grey:active, +.btn.btn-grey.active, +.open>.btn.btn-grey.dropdown-toggle { + color: #6a6a6a; + background-color: transparent; + border-color: #9d9d9d +} + +.btn.btn-grey:active, +.btn.btn-grey.active, +.open>.btn.btn-grey.dropdown-toggle { + background-image: none +} + +.btn.btn-grey.disabled, +.btn.btn-grey.disabled:hover, +.btn.btn-grey.disabled:focus, +.btn.btn-grey.disabled.focus, +.btn.btn-grey.disabled:active, +.btn.btn-grey.disabled.active, +.btn.btn-grey[disabled], +.btn.btn-grey[disabled]:hover, +.btn.btn-grey[disabled]:focus, +.btn.btn-grey[disabled].focus, +.btn.btn-grey[disabled]:active, +.btn.btn-grey[disabled].active, +fieldset[disabled] .btn.btn-grey, +fieldset[disabled] .btn.btn-grey:hover, +fieldset[disabled] .btn.btn-grey:focus, +fieldset[disabled] .btn.btn-grey.focus, +fieldset[disabled] .btn.btn-grey:active, +fieldset[disabled] .btn.btn-grey.active { + background-color: transparent; + border-color: #b7b7b7 +} + +.btn.btn-grey .badge { + color: transparent; + background-color: #6a6a6a +} + +.btn.btn-grey button, +.btn.btn-grey input[type=submit] { + background-color: transparent; + color: #6a6a6a; + border: none; + inset: none +} + +.btn.btn-grey.invert { + color: #fff; + background-color: #b7b7b7; + border-color: #b7b7b7 +} + +.btn.btn-grey.invert.invert { + color: #b7b7b7; + background-color: #fff; + border-color: #b7b7b7 +} + +.btn.btn-grey.invert.invert+.btn.invert { + margin-left: -1px +} + +.btn.btn-grey.invert.on-active:not(.active) { + color: #b7b7b7; + background-color: rgba(183, 183, 183, 0.1); + border-color: rgba(183, 183, 183, 0) +} + +.btn.btn-grey.invert.light-bg { + color: #b7b7b7; + background-color: rgba(183, 183, 183, 0.05); + border-color: transparent +} + +.btn.btn-grey.invert.light-bg:hover:not(.active) { + color: #9d9d9d; + background-color: rgba(183, 183, 183, 0.1); + border-color: rgba(183, 183, 183, 0) +} + +.btn.btn-grey.invert:hover, +.btn.btn-grey.invert:focus, +.btn.btn-grey.invert.focus, +.btn.btn-grey.invert:active, +.btn.btn-grey.invert.active, +.open>.btn.btn-grey.invert.dropdown-toggle { + color: #fff; + background-color: #9d9d9d; + border-color: #9d9d9d +} + +.btn.btn-grey.invert:active, +.btn.btn-grey.invert.active, +.open>.btn.btn-grey.invert.dropdown-toggle { + background-image: none +} + +.btn.btn-grey.invert.disabled, +.btn.btn-grey.invert.disabled:hover, +.btn.btn-grey.invert.disabled:focus, +.btn.btn-grey.invert.disabled.focus, +.btn.btn-grey.invert.disabled:active, +.btn.btn-grey.invert.disabled.active, +.btn.btn-grey.invert[disabled], +.btn.btn-grey.invert[disabled]:hover, +.btn.btn-grey.invert[disabled]:focus, +.btn.btn-grey.invert[disabled].focus, +.btn.btn-grey.invert[disabled]:active, +.btn.btn-grey.invert[disabled].active, +fieldset[disabled] .btn.btn-grey.invert, +fieldset[disabled] .btn.btn-grey.invert:hover, +fieldset[disabled] .btn.btn-grey.invert:focus, +fieldset[disabled] .btn.btn-grey.invert.focus, +fieldset[disabled] .btn.btn-grey.invert:active, +fieldset[disabled] .btn.btn-grey.invert.active { + background-color: #b7b7b7; + border-color: #b7b7b7 +} + +.btn.btn-grey.invert .badge { + color: #b7b7b7; + background-color: #fff +} + +.btn.btn-grey.invert button, +.btn.btn-grey.invert input[type=submit] { + background-color: transparent; + color: #fff; + border: none; + inset: none +} + +.btn.btn-default { + color: #00babc; + background-color: #fff; + border-color: #ccc +} + +.btn.btn-default.invert { + color: #fff; + background-color: #00babc; + border-color: #fff +} + +.btn.btn-default.invert+.btn.invert { + margin-left: -1px +} + +.btn.btn-default.on-active:not(.active) { + color: #fff; + background-color: rgba(255, 255, 255, 0.1); + border-color: rgba(204, 204, 204, 0) +} + +.btn.btn-default.light-bg { + color: #fff; + background-color: rgba(255, 255, 255, 0.05); + border-color: transparent +} + +.btn.btn-default.light-bg:hover:not(.active) { + color: #e6e6e6; + background-color: rgba(255, 255, 255, 0.1); + border-color: rgba(204, 204, 204, 0) +} + +.btn.btn-default:hover, +.btn.btn-default:focus, +.btn.btn-default.focus, +.btn.btn-default:active, +.btn.btn-default.active, +.open>.btn.btn-default.dropdown-toggle { + color: #00babc; + background-color: #e6e6e6; + border-color: #b3b3b3 +} + +.btn.btn-default:active, +.btn.btn-default.active, +.open>.btn.btn-default.dropdown-toggle { + background-image: none +} + +.btn.btn-default.disabled, +.btn.btn-default.disabled:hover, +.btn.btn-default.disabled:focus, +.btn.btn-default.disabled.focus, +.btn.btn-default.disabled:active, +.btn.btn-default.disabled.active, +.btn.btn-default[disabled], +.btn.btn-default[disabled]:hover, +.btn.btn-default[disabled]:focus, +.btn.btn-default[disabled].focus, +.btn.btn-default[disabled]:active, +.btn.btn-default[disabled].active, +fieldset[disabled] .btn.btn-default, +fieldset[disabled] .btn.btn-default:hover, +fieldset[disabled] .btn.btn-default:focus, +fieldset[disabled] .btn.btn-default.focus, +fieldset[disabled] .btn.btn-default:active, +fieldset[disabled] .btn.btn-default.active { + background-color: #fff; + border-color: #ccc +} + +.btn.btn-default .badge { + color: #fff; + background-color: #00babc +} + +.btn.btn-default button, +.btn.btn-default input[type=submit] { + background-color: transparent; + color: #00babc; + border: none; + inset: none +} + +.btn.btn-primary { + color: #fff; + background-color: #00babc; + border-color: #00babc +} + +.btn.btn-primary.invert { + color: #00babc; + background-color: #fff; + border-color: #00babc +} + +.btn.btn-primary.invert+.btn.invert { + margin-left: -1px +} + +.btn.btn-primary.on-active:not(.active) { + color: #00babc; + background-color: rgba(0, 186, 188, 0.1); + border-color: rgba(0, 186, 188, 0) +} + +.btn.btn-primary.light-bg { + color: #00babc; + background-color: rgba(0, 186, 188, 0.05); + border-color: transparent +} + +.btn.btn-primary.light-bg:hover:not(.active) { + color: #008889; + background-color: rgba(0, 186, 188, 0.1); + border-color: rgba(0, 186, 188, 0) +} + +.btn.btn-primary:hover, +.btn.btn-primary:focus, +.btn.btn-primary.focus, +.btn.btn-primary:active, +.btn.btn-primary.active, +.open>.btn.btn-primary.dropdown-toggle { + color: #fff; + background-color: #008889; + border-color: #008889 +} + +.btn.btn-primary:active, +.btn.btn-primary.active, +.open>.btn.btn-primary.dropdown-toggle { + background-image: none +} + +.btn.btn-primary.disabled, +.btn.btn-primary.disabled:hover, +.btn.btn-primary.disabled:focus, +.btn.btn-primary.disabled.focus, +.btn.btn-primary.disabled:active, +.btn.btn-primary.disabled.active, +.btn.btn-primary[disabled], +.btn.btn-primary[disabled]:hover, +.btn.btn-primary[disabled]:focus, +.btn.btn-primary[disabled].focus, +.btn.btn-primary[disabled]:active, +.btn.btn-primary[disabled].active, +fieldset[disabled] .btn.btn-primary, +fieldset[disabled] .btn.btn-primary:hover, +fieldset[disabled] .btn.btn-primary:focus, +fieldset[disabled] .btn.btn-primary.focus, +fieldset[disabled] .btn.btn-primary:active, +fieldset[disabled] .btn.btn-primary.active { + background-color: #00babc; + border-color: #00babc +} + +.btn.btn-primary .badge { + color: #00babc; + background-color: #fff +} + +.btn.btn-primary button, +.btn.btn-primary input[type=submit] { + background-color: transparent; + color: #fff; + border: none; + inset: none +} + +.btn.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #5cb85c +} + +.btn.btn-success.invert { + color: #5cb85c; + background-color: #fff; + border-color: #5cb85c +} + +.btn.btn-success.invert+.btn.invert { + margin-left: -1px +} + +.btn.btn-success.on-active:not(.active) { + color: #5cb85c; + background-color: rgba(92, 184, 92, 0.1); + border-color: rgba(92, 184, 92, 0) +} + +.btn.btn-success.light-bg { + color: #5cb85c; + background-color: rgba(92, 184, 92, 0.05); + border-color: transparent +} + +.btn.btn-success.light-bg:hover:not(.active) { + color: #449d44; + background-color: rgba(92, 184, 92, 0.1); + border-color: rgba(92, 184, 92, 0) +} + +.btn.btn-success:hover, +.btn.btn-success:focus, +.btn.btn-success.focus, +.btn.btn-success:active, +.btn.btn-success.active, +.open>.btn.btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + border-color: #449d44 +} + +.btn.btn-success:active, +.btn.btn-success.active, +.open>.btn.btn-success.dropdown-toggle { + background-image: none +} + +.btn.btn-success.disabled, +.btn.btn-success.disabled:hover, +.btn.btn-success.disabled:focus, +.btn.btn-success.disabled.focus, +.btn.btn-success.disabled:active, +.btn.btn-success.disabled.active, +.btn.btn-success[disabled], +.btn.btn-success[disabled]:hover, +.btn.btn-success[disabled]:focus, +.btn.btn-success[disabled].focus, +.btn.btn-success[disabled]:active, +.btn.btn-success[disabled].active, +fieldset[disabled] .btn.btn-success, +fieldset[disabled] .btn.btn-success:hover, +fieldset[disabled] .btn.btn-success:focus, +fieldset[disabled] .btn.btn-success.focus, +fieldset[disabled] .btn.btn-success:active, +fieldset[disabled] .btn.btn-success.active { + background-color: #5cb85c; + border-color: #5cb85c +} + +.btn.btn-success .badge { + color: #5cb85c; + background-color: #fff +} + +.btn.btn-success button, +.btn.btn-success input[type=submit] { + background-color: transparent; + color: #fff; + border: none; + inset: none +} + +.btn.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de +} + +.btn.btn-info.invert { + color: #5bc0de; + background-color: #fff; + border-color: #5bc0de +} + +.btn.btn-info.invert+.btn.invert { + margin-left: -1px +} + +.btn.btn-info.on-active:not(.active) { + color: #5bc0de; + background-color: rgba(91, 192, 222, 0.1); + border-color: rgba(91, 192, 222, 0) +} + +.btn.btn-info.light-bg { + color: #5bc0de; + background-color: rgba(91, 192, 222, 0.05); + border-color: transparent +} + +.btn.btn-info.light-bg:hover:not(.active) { + color: #31b0d5; + background-color: rgba(91, 192, 222, 0.1); + border-color: rgba(91, 192, 222, 0) +} + +.btn.btn-info:hover, +.btn.btn-info:focus, +.btn.btn-info.focus, +.btn.btn-info:active, +.btn.btn-info.active, +.open>.btn.btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + border-color: #31b0d5 +} + +.btn.btn-info:active, +.btn.btn-info.active, +.open>.btn.btn-info.dropdown-toggle { + background-image: none +} + +.btn.btn-info.disabled, +.btn.btn-info.disabled:hover, +.btn.btn-info.disabled:focus, +.btn.btn-info.disabled.focus, +.btn.btn-info.disabled:active, +.btn.btn-info.disabled.active, +.btn.btn-info[disabled], +.btn.btn-info[disabled]:hover, +.btn.btn-info[disabled]:focus, +.btn.btn-info[disabled].focus, +.btn.btn-info[disabled]:active, +.btn.btn-info[disabled].active, +fieldset[disabled] .btn.btn-info, +fieldset[disabled] .btn.btn-info:hover, +fieldset[disabled] .btn.btn-info:focus, +fieldset[disabled] .btn.btn-info.focus, +fieldset[disabled] .btn.btn-info:active, +fieldset[disabled] .btn.btn-info.active { + background-color: #5bc0de; + border-color: #5bc0de +} + +.btn.btn-info .badge { + color: #5bc0de; + background-color: #fff +} + +.btn.btn-info button, +.btn.btn-info input[type=submit] { + background-color: transparent; + color: #fff; + border: none; + inset: none +} + +.btn.btn-warning { + color: #fff; + background-color: #E6B291; + border-color: #e6b291 +} + +.btn.btn-warning.invert { + color: #E6B291; + background-color: #fff; + border-color: #E6B291 +} + +.btn.btn-warning.invert+.btn.invert { + margin-left: -1px +} + +.btn.btn-warning.on-active:not(.active) { + color: #E6B291; + background-color: rgba(230, 178, 145, 0.1); + border-color: rgba(230, 178, 145, 0) +} + +.btn.btn-warning.light-bg { + color: #E6B291; + background-color: rgba(230, 178, 145, 0.05); + border-color: transparent +} + +.btn.btn-warning.light-bg:hover:not(.active) { + color: #dd9567; + background-color: rgba(230, 178, 145, 0.1); + border-color: rgba(230, 178, 145, 0) +} + +.btn.btn-warning:hover, +.btn.btn-warning:focus, +.btn.btn-warning.focus, +.btn.btn-warning:active, +.btn.btn-warning.active, +.open>.btn.btn-warning.dropdown-toggle { + color: #fff; + background-color: #dd9567; + border-color: #dd9567 +} + +.btn.btn-warning:active, +.btn.btn-warning.active, +.open>.btn.btn-warning.dropdown-toggle { + background-image: none +} + +.btn.btn-warning.disabled, +.btn.btn-warning.disabled:hover, +.btn.btn-warning.disabled:focus, +.btn.btn-warning.disabled.focus, +.btn.btn-warning.disabled:active, +.btn.btn-warning.disabled.active, +.btn.btn-warning[disabled], +.btn.btn-warning[disabled]:hover, +.btn.btn-warning[disabled]:focus, +.btn.btn-warning[disabled].focus, +.btn.btn-warning[disabled]:active, +.btn.btn-warning[disabled].active, +fieldset[disabled] .btn.btn-warning, +fieldset[disabled] .btn.btn-warning:hover, +fieldset[disabled] .btn.btn-warning:focus, +fieldset[disabled] .btn.btn-warning.focus, +fieldset[disabled] .btn.btn-warning:active, +fieldset[disabled] .btn.btn-warning.active { + background-color: #E6B291; + border-color: #e6b291 +} + +.btn.btn-warning .badge { + color: #E6B291; + background-color: #fff +} + +.btn.btn-warning button, +.btn.btn-warning input[type=submit] { + background-color: transparent; + color: #fff; + border: none; + inset: none +} + +.btn.btn-danger { + color: #fff; + background-color: #D8636F; + border-color: #d8636f +} + +.btn.btn-danger.invert { + color: #D8636F; + background-color: #fff; + border-color: #D8636F +} + +.btn.btn-danger.invert+.btn.invert { + margin-left: -1px +} + +.btn.btn-danger.on-active:not(.active) { + color: #D8636F; + background-color: rgba(216, 99, 111, 0.1); + border-color: rgba(216, 99, 111, 0) +} + +.btn.btn-danger.light-bg { + color: #D8636F; + background-color: rgba(216, 99, 111, 0.05); + border-color: transparent +} + +.btn.btn-danger.light-bg:hover:not(.active) { + color: #ce3a49; + background-color: rgba(216, 99, 111, 0.1); + border-color: rgba(216, 99, 111, 0) +} + +.btn.btn-danger:hover, +.btn.btn-danger:focus, +.btn.btn-danger.focus, +.btn.btn-danger:active, +.btn.btn-danger.active, +.open>.btn.btn-danger.dropdown-toggle { + color: #fff; + background-color: #ce3a49; + border-color: #ce3a49 +} + +.btn.btn-danger:active, +.btn.btn-danger.active, +.open>.btn.btn-danger.dropdown-toggle { + background-image: none +} + +.btn.btn-danger.disabled, +.btn.btn-danger.disabled:hover, +.btn.btn-danger.disabled:focus, +.btn.btn-danger.disabled.focus, +.btn.btn-danger.disabled:active, +.btn.btn-danger.disabled.active, +.btn.btn-danger[disabled], +.btn.btn-danger[disabled]:hover, +.btn.btn-danger[disabled]:focus, +.btn.btn-danger[disabled].focus, +.btn.btn-danger[disabled]:active, +.btn.btn-danger[disabled].active, +fieldset[disabled] .btn.btn-danger, +fieldset[disabled] .btn.btn-danger:hover, +fieldset[disabled] .btn.btn-danger:focus, +fieldset[disabled] .btn.btn-danger.focus, +fieldset[disabled] .btn.btn-danger:active, +fieldset[disabled] .btn.btn-danger.active { + background-color: #D8636F; + border-color: #d8636f +} + +.btn.btn-danger .badge { + color: #D8636F; + background-color: #fff +} + +.btn.btn-danger button, +.btn.btn-danger input[type=submit] { + background-color: transparent; + color: #fff; + border: none; + inset: none +} + +.btn.shade:not(.active) { + box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1) +} + +.btn.btn-default:hover { + background-color: #00babc; + color: #fff; + border-color: #00babc +} + +.btn-group.block { + width: 100%; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center +} + +.btn-group.block>.btn { + flex-grow: 1; + -ms-flex-positive: 1 +} + +.btn-group.block>.btn, +.btn-group.block>.btn:active, +.btn-group.block>.btn:hover { + -o-transition: 0.2s all cubic-bezier(0.215, 0.61, 0.355, 1); + transition: 0.2s all cubic-bezier(0.215, 0.61, 0.355, 1) +} + +form.btn>input[type="submit"] { + width: 100% +} + +.btn .caret { + position: absolute; + top: 45%; + right: 10% +} + +.lines-button { + display: inline-block; + padding: 1.75rem 2.2rem; + transition: .3s; + line-height: 0.4em; + cursor: pointer; + user-select: none; + border-radius: 0.5rem +} + +.lines-button:hover { + opacity: 1 +} + +.lines-button:active { + transition: 0 +} + +.lines-ft { + display: inline-block; + width: 3.5rem; + height: 0.5rem; + background: #666; + border-radius: 0.25rem; + transition: 0.3s; + position: relative +} + +.lines-ft:before, +.lines-ft:after { + display: inline-block; + width: 3.5rem; + height: 0.5rem; + background: #666; + border-radius: 0.25rem; + transition: 0.3s; + position: absolute; + left: 0; + content: ''; + transform-origin: 0.25rem center +} + +.lines-ft:before { + top: 0.875rem +} + +.lines-ft:after { + top: -0.875rem +} + +.lines-button.x.closed .lines { + background: transparent +} + +.lines-button.x.closed .lines:before, +.lines-button.x.closed .lines:after { + transform-origin: 50% 50%; + top: 0; + width: 3.5rem +} + +.lines-button.x.closed .lines:before { + transform: rotate3d(0, 0, 1, 45deg) +} + +.lines-button.x.closed .lines:after { + transform: rotate3d(0, 0, 1, -45deg) +} + +.overlay { + position: fixed; + /* top: 0; */ + /* left: 0; */ + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.6); + backdrop-filter: blur(5px); + z-index: 4500; + /* display: flex; */ + transition: opacity .3s, visibility 0s .3s; + /* display: block; */ + /* opacity: 0; */ + /* visibility: hidden; */ + /* position: fixed; */ + /* width: 100%; */ + /* height: 100%; */ + /* top: 0; */ + /* left: 0; */ + /* z-index: 800 */ +} + + +/* .overlay { + opacity: 0; + visibility: hidden; + transition: opacity .3s, visibility 0s .3s; + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 800 +} */ + +.overlay.open { + opacity: 1; + visibility: visible; + transition: opacity .3s +} + +.visible-overlay { + display: none +} + +@media (max-width: 480px) { + .visible-overlay { + display: inherit + } +} + +.drop-notification-element { + position: absolute; + display: none; + z-index: 3000; + margin-top: 15px; + max-width: 100%; + max-height: 100% +} + +.drop-notification-element.drop-notification-open { + display: block +} + +.drop-notification-element.drop-notification-after-open .drop-notification-content { + top: 0px +} + +.drop-notification-element .drop-notification-content { + transition: all 0.2s; + transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); + position: relative; + top: 10px; + border-radius: 3px; + border: 1px solid rgba(0, 0, 0, 0.1); + font-family: inherit; + background: #fff; + padding: 1.3em +} + +.drop-notification-element .drop-notification-content:after, +.drop-notification-element .drop-notification-content:before { + bottom: 100%; + left: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.drop-notification-element .drop-notification-content:after { + border-color: rgba(192, 192, 192, 0); + border-bottom-color: #fff; + border-width: 8px; + margin-left: -8px; + z-index: 3002; + bottom: 99% +} + +.drop-notification-element .drop-notification-content:before { + border-color: rgba(176, 176, 176, 0); + border-bottom-color: rgba(0, 0, 0, 0.1); + border-width: 9px; + margin-left: -9px; + z-index: 3001 +} + +.drop-friendship-element { + position: absolute; + display: none; + z-index: 3000; + margin-top: 15px; + max-width: 100%; + max-height: 100% +} + +.drop-friendship-element.drop-friendship-open { + display: block +} + +.drop-friendship-element.drop-friendship-after-open .drop-friendship-content { + top: 0px +} + +.drop-friendship-element .drop-friendship-content { + transition: all 0.2s; + transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); + position: relative; + top: 10px; + border-radius: 3px; + border: 1px solid rgba(0, 0, 0, 0.1); + font-family: inherit; + background: #fff; + padding: 1.3em +} + +.drop-friendship-element .drop-friendship-content:after, +.drop-friendship-element .drop-friendship-content:before { + bottom: 100%; + left: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.drop-friendship-element .drop-friendship-content:after { + border-color: rgba(192, 192, 192, 0); + border-bottom-color: #fff; + border-width: 8px; + margin-left: -8px; + z-index: 3002; + bottom: 99% +} + +.drop-friendship-element .drop-friendship-content:before { + border-color: rgba(176, 176, 176, 0); + border-bottom-color: rgba(0, 0, 0, 0.1); + border-width: 9px; + margin-left: -9px; + z-index: 3001 +} + +.container-breadcrumb .breadcrumb { + background-color: #fff; + border-bottom: 1px solid #00babc; + padding-bottom: 25px; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px +} + +@media (max-width: 768px) { + .container-breadcrumb .breadcrumb { + padding-bottom: 20px + } +} + +.container-breadcrumb .breadcrumb a { + text-transform: uppercase; + color: #e5e5e5 +} + +.container-breadcrumb .breadcrumb a:hover, +.container-breadcrumb .breadcrumb a:active, +.container-breadcrumb .breadcrumb a:focus { + text-decoration: none +} + +.container-breadcrumb .breadcrumb a:hover { + color: #35353b +} + +.container-breadcrumb .breadcrumb .active>a { + color: #00babc +} + +.container-breadcrumb .breadcrumb>li+li:before { + content: "-"; + padding: 0 10px; + color: #e5e5e5 +} + +.progress { + position: relative; + height: 10px; + background-color: #e3e3e3; + border-radius: 5px +} + +.progress, +.progress .progress-bar { + box-shadow: none +} + +.progress-bar { + background: -webkit-linear-gradient(right, #2dd57a, #00babc); + background: -moz-linear-gradient(right, #2dd57a, #00babc); + background: -ms-linear-gradient(right, #2dd57a, #00babc); + background: -o-linear-gradient(right, #2dd57a, #00babc); + background: linear-gradient(to right, #2dd57a, #00babc) +} + +.progress-bar+.on-progress { + position: absolute; + top: 0px; + left: 0; + right: 0; + text-align: center; + font-size: .8em; + line-height: 10px; + color: #202026 +} + +.progress.double { + margin-bottom: 0; + height: 40px; + font-size: 1.4em; + line-height: 40px +} + +@media (max-width: 1900px) { + .progress.double { + height: 35px + } +} + +@media (max-width: 768px) { + .progress.double { + height: 25px + } +} + +@media (max-width: 480px) { + .progress.double { + height: 20px; + font-size: 1em; + line-height: 20px + } +} + +.progress.double .progress-bar+.on-progress { + font-size: 1em; + line-height: 40px +} + +@media (max-width: 1900px) { + .progress.double .progress-bar+.on-progress { + font-size: .8em; + line-height: 35px; + font-weight: 300 + } +} + +@media (max-width: 768px) { + .progress.double .progress-bar+.on-progress { + line-height: 25px + } +} + +@media (max-width: 480px) { + .progress.double .progress-bar+.on-progress { + font-size: 1em; + line-height: 20px + } +} + +.progress[data-progress-level="0"] .progress-bar { + opacity: 0.3 +} + +.progress[data-progress-level="1"] .progress-bar { + opacity: 0.5 +} + +.progress[data-progress-level="2"] .progress-bar { + opacity: 0.7 +} + +.progress[data-progress-level="3"] .progress-bar { + opacity: 0.9 +} + +.progress[data-progress-level="4"] .progress-bar { + opacity: 1.1 +} + +.form-group-typeahead { + border: solid 1px #ccc; + min-width: 100%; + border-radius: 4px; + height: 34px; + padding-left: 5px +} + +.star-range+.rangeslider, +.star-range+.rangeslider>.rangeslider__fill { + box-shadow: none +} + +.star-range[data-star-range="0"]+.rangeslider>.rangeslider__fill { + background-color: #d8636f +} + +.star-range[data-star-range="0"]+.rangeslider>.rangeslider__fill+.rangeslider__handle::after { + content: "0" +} + +.star-range[data-star-range="1"]+.rangeslider>.rangeslider__fill { + background-color: #bf746b +} + +.star-range[data-star-range="1"]+.rangeslider>.rangeslider__fill+.rangeslider__handle::after { + content: "1" +} + +.star-range[data-star-range="2"]+.rangeslider>.rangeslider__fill { + background-color: #a68567 +} + +.star-range[data-star-range="2"]+.rangeslider>.rangeslider__fill+.rangeslider__handle::after { + content: "2" +} + +.star-range[data-star-range="3"]+.rangeslider>.rangeslider__fill { + background-color: #8e9664 +} + +.star-range[data-star-range="3"]+.rangeslider>.rangeslider__fill+.rangeslider__handle::after { + content: "3" +} + +.star-range[data-star-range="4"]+.rangeslider>.rangeslider__fill { + background-color: #75a760 +} + +.star-range[data-star-range="4"]+.rangeslider>.rangeslider__fill+.rangeslider__handle::after { + content: "4" +} + +.star-range[data-star-range="5"]+.rangeslider>.rangeslider__fill { + background-color: #5cb85c +} + +.star-range[data-star-range="5"]+.rangeslider>.rangeslider__fill+.rangeslider__handle::after { + content: "5" +} + +select.datetime { + display: inline; + max-width: 120px +} + +.lead-control { + width: auto; + min-width: 400px; + font-size: 1.9em; + line-height: 1.9em; + height: 1.9em +} + +input.array { + padding: 5px 15px 5px 5px; + border: solid 1px #ccc; + border-radius: 4px; + margin-bottom: 10px +} + +input.array:focus { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6) +} + +.form-control+a.input_remove_elem { + float: right; + top: -35px; + left: -10px; + margin-bottom: -15px +} + +textarea.array { + margin-bottom: 10px +} + +a.input_remove_elem { + position: relative; + left: -12px; + font-size: 1px; + color: #888 +} + +a.input_remove_elem:after { + content: '✕'; + font-size: 10px; + font-weight: bold +} + +a.input_remove_elem:hover { + color: #0d0d0d; + text-decoration: none +} + +.input_add_elem { + display: inline-block; + height: 20px; + width: 20px; + padding: 0px 0px; + border-radius: 100%; + outline: none; + vertical-align: middle; + text-align: center; + background: #00babc; + color: #fff +} + +.input_add_elem:hover, +.input_add_elem:active, +.input_add_elem:focus { + text-decoration: none; + background-color: #008889; + color: #ccc +} + +.dancer { + animation-duration: 0.3s; + animation-fill-mode: backwards; + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1) +} + +.dancer:nth-child(0) { + animation-delay: 0s +} + +.dancer:nth-child(1) { + animation-delay: 0.05s +} + +.dancer:nth-child(2) { + animation-delay: 0.1s +} + +.dancer:nth-child(3) { + animation-delay: 0.15s +} + +.dancer:nth-child(4) { + animation-delay: 0.2s +} + +.dancer:nth-child(5) { + animation-delay: 0.25s +} + +.dancer:nth-child(6) { + animation-delay: 0.3s +} + +.dancer:nth-child(7) { + animation-delay: 0.35s +} + +.dancer:nth-child(8) { + animation-delay: 0.4s +} + +.dancer:nth-child(9) { + animation-delay: 0.45s +} + +.dancer:nth-child(10) { + animation-delay: 0.5s +} + +.dancer:nth-child(11) { + animation-delay: 0.55s +} + +.dancer:nth-child(12) { + animation-delay: 0.6s +} + +.dancer:nth-child(13) { + animation-delay: 0.65s +} + +.dancer:nth-child(14) { + animation-delay: 0.7s +} + +.dancer:nth-child(15) { + animation-delay: 0.75s +} + +.dancer:nth-child(16) { + animation-delay: 0.8s +} + +.dancer:nth-child(17) { + animation-delay: 0.85s +} + +.dancer:nth-child(18) { + animation-delay: 0.9s +} + +.dancer:nth-child(19) { + animation-delay: 0.95s +} + +.dancer:nth-child(20) { + animation-delay: 1s +} + +.dancer.from-down { + animation-name: pop-from-down +} + +@-webkit-keyframes pop-from-down { + from { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@-moz-keyframes pop-from-down { + from { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@keyframes pop-from-down { + from { + -ms-transform: translateY(30px); + -o-transform: translateY(30px); + transform: translateY(30px); + opacity: 0 + } + + to { + -ms-transform: translateY(0px); + -o-transform: translateY(0px); + transform: translateY(0px); + opacity: 1 + } +} + +.pop-over { + min-width: 300px; + min-height: 50px; + background-color: #fff; + border: 1px solid #f7f7f7; + border-radius: 3px; + z-index: 80 +} + +.modal .modal-dialog .modal-content { + padding: 0; + box-shadow: none; + border: none; + background-image: none; + border-radius: 0px +} + +.modal-backdrop { + background-color: #f4f2f2 +} + +.modal-backdrop.in { + opacity: 0.95 +} + +.tooltip .tooltip-inner { + border-radius: 0px; + box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1) +} + +.tooltip.top .tooltip-inner { + border-bottom: 1px solid #2c2c34 +} + +.tooltip.right .tooltip-inner { + border-left: 1px solid #2c2c34 +} + +.tooltip.bottom .tooltip-inner { + border-top: 1px solid #2c2c34 +} + +.tooltip.left .tooltip-inner { + border-right: 1px solid #2c2c34 +} + +.tooltip.top .tooltip-arrow { + border-top-color: #2c2c34 +} + +.tooltip.right .tooltip-arrow { + border-right-color: #2c2c34 +} + +.tooltip.bottom .tooltip-arrow { + border-bottom-color: #2c2c34 +} + +.tooltip.left .tooltip-arrow { + border-left-color: #2c2c34 +} + +.tooltip-content { + z-index: 999; + height: 80px; + display: flex; + background: #00babc; + color: #fff; + display: flex; + visibility: hidden; + position: absolute; + border-radius: 1px; + padding: 10px; + -o-transition: opacity 1s ease-in 0s, width 2s ease-in 2s; + transition: opacity 1s ease-in 0s, width 2s ease-in 2s +} + +.tooltip-content .tooltip-img { + width: 55px; + margin-right: 10px +} + +.tooltip-content .tooltip-title { + font-weight: bold; + margin-bottom: 0px +} + +.tooltip-content:after { + content: ''; + height: 0; + width: 0; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px solid #00babc; + position: absolute; + left: calc(50% - 10px); + top: 75px +} + +.vertical-list { + display: block +} + +.vertical-list--hoverable .vertical-list--item-hoverable { + opacity: 0 +} + +@media (max-width: 767px) { + .vertical-list--hoverable .vertical-list--item-hoverable { + opacity: 1 + } +} + +.vertical-list--hoverable .vertical-list--item:hover .vertical-list--item-hoverable { + opacity: 1 +} + +.vertical-list--lighteable .vertical-list--item-lighteable { + opacity: 0.5; + -o-transition: opacity 0.1s; + transition: opacity 0.1s +} + +@media (max-width: 767px) { + .vertical-list--lighteable .vertical-list--item-lighteable { + opacity: 1 + } +} + +.vertical-list--lighteable .vertical-list--item:hover .vertical-list--item-lighteable { + opacity: 1 +} + +.vertical-list .vertical-list-item { + display: block; + padding: 10px +} + +.vertical-list .vertical-list-item+.vertical-list--item { + border-top: 1px solid #f7f7f7 +} + +.vertical-list .vertical-list-item--hoverable:hover { + background-color: #f2f2f2 +} + +.nav-pills:not(.nav-stacked)>li.active>a, +.nav-pills:not(.nav-stacked)>li.active>a:hover, +.nav-pills:not(.nav-stacked)>li.active>a:focus { + border-radius: 0px; + background-color: transparent; + color: #00babc; + border-bottom: 1px solid #00babc +} + +.nav-pills>li { + border-radius: 0px +} + +.nav-pills.nav-stacked>li:not(.active) a { + color: #67676d +} + +.nav-pills.nav-stacked>li.active>a, +.nav-pills.nav-stacked>li.active>a:hover, +.nav-pills.nav-stacked>li.active>a:focus { + border-radius: 0px; + background-color: transparent; + color: #00babc +} + +.help-btn-wrapper { + margin: auto 2rem +} + +.help-btn-wrapper .help-btn { + text-decoration: none +} + +.nav-separator { + border-left: 2px solid #ddd; + margin-top: 4%; + margin-bottom: 4% +} + +.under-main-navbar { + top: 0 +} + +.main-navbar { + color: #4E5566; + background-color: #fff; + height: 60px; + display: block; + position: relative; + z-index: 200; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +@media (max-width: 1900px) { + .main-navbar { + height: 60px + } +} + +.main-navbar .main-navbar-logo { + flex-shrink: 0; + -ms-flex-negative: 0; + width: 80px; + margin: 0; + height: 100%; + padding: 0; + text-align: center; + background-color: #292D39 +} + +.main-navbar .main-navbar-logo img { + height: 30px; + margin: 15px 0 +} + +@media (max-width: 1900px) { + .main-navbar .main-navbar-logo img { + height: 30px; + margin: 15px 0 + } +} + +@media (max-width: 1900px) { + .main-navbar .main-navbar-logo { + width: 80px + } +} + +@media (max-width: 1600px) { + .main-navbar .main-navbar-logo { + width: 80px + } +} + +.main-navbar .main-navbar-search { + flex-grow: 1; + -ms-flex-positive: 1; + padding: 0 5px; + margin: 0 5px; + line-height: 60px; + font-size: 1.3em +} + +@media (max-width: 1900px) { + .main-navbar .main-navbar-search { + line-height: 60px; + font-size: 1.3em; + margin: 0 20px + } +} + +.main-navbar .main-navbar-search input.search-input { + vertical-align: initial !important; + border: none; + height: 100%; + width: 90%; + background-color: transparent +} + +.main-navbar .main-navbar-search input.search-input:focus { + outline: none +} + +@media (max-width: 1900px) { + .main-navbar .main-navbar-search input.search-input { + margin-left: 15px + } +} + +.main-navbar .main-navbar-search:before { + padding: 0 20px; + max-width: 10%; + font-family: streamline-30px; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: ""; + font-family: 'Font Awesome 5 Pro'; + color: #35353b +} + +.main-navbar .main-navbar-search .search-header-name { + padding-bottom: 15px; + border-bottom: 1px solid rgba(91, 91, 96, 0.55) +} + +.main-navbar .main-navbar-search .searches-title { + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + color: #5b5b60; + font-size: 15px; + font-weight: 300; + text-transform: uppercase; + padding-left: 10px +} + +.main-navbar .main-navbar-user-nav, +.main-navbar .main-navbar-left { + height: 100%; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start +} + +.main-navbar .main-navbar-left { + flex-grow: 1; + -ms-flex-positive: 1 +} + +.main-navbar .main-navbar-user-nav .user-action-icon { + vertical-align: middle +} + +.main-navbar .main-navbar-user-nav .user-action-count { + top: -20px; + left: -20px +} + +.main-navbar .main-navbar-user-nav #quest-menu.open a { + color: #00babc +} + +.main-navbar .main-navbar-user-nav #quest-menu ul.quest-container .quest-legend { + font-size: 0.7em; + line-height: 0.8em; + padding: 0 0 0 0; + margin: 10px 5px +} + +.main-navbar .main-navbar-user-nav #quest-menu ul.quest-container li.quest-item { + border-bottom: solid 1px #f2f2f2; + border-top: solid 1px #f2f2f2; + padding: 5px +} + +.main-navbar .main-navbar-user-nav #quest-menu ul.quest-container li.quest-item .quest-header { + margin: 0px 0px 5px 0px; + font-size: 1em; + font-weight: bold; + line-height: 1.2em +} + +.main-navbar .main-navbar-user-nav #quest-menu ul.quest-container li.quest-item .quest-description { + line-height: 1.2em +} + +.main-navbar .main-navbar-user-nav #quest-menu ul.quest-container li a { + padding: 0px 0px 0px 0px; + margin: 10px 0px 5px 5px; + font-size: 0.7em; + line-height: 0.8em; + text-transform: uppercase; + color: #00babc !important +} + +.main-navbar .main-navbar-user-nav #quest-menu ul.quest-container li a:hover { + color: #008889; + background-color: #fff +} + +.main-navbar .main-navbar-user-nav>.dropdown>a { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + line-height: 40px; + padding: 10px; + margin: auto .5rem +} + +.main-navbar .main-navbar-user-nav>.dropdown>a:hover, +.main-navbar .main-navbar-user-nav>.dropdown>a:active, +.main-navbar .main-navbar-user-nav>.dropdown>a:focus { + text-decoration: none +} + +@media (max-width: 1900px) { + .main-navbar .main-navbar-user-nav>.dropdown>a { + line-height: 40px + } +} + +.main-navbar .main-navbar-user-nav>.dropdown>a>span { + font-size: 1.2em; + font-weight: bold; + color: #666; + padding-right: 2rem +} + +.main-navbar .main-navbar-user-nav>.dropdown>a:hover>span { + color: #00babc +} + +.main-navbar .main-navbar-user-nav .dropdown-menu { + margin: 0px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #fff; + border-radius: 0px; + border-top: none; + box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1) +} + +.main-navbar .main-navbar-user-nav .dropdown-menu>li>a { + color: #2c2c34 +} + +.main-navbar .user-profile-picture { + height: 40px; + width: 40px; + background-repeat: no-repeat; + background-size: 100%; + background-position: 50% 50%; + border-radius: 50%; + margin-right: 1rem +} + +@media (max-width: 1900px) { + .main-navbar .user-profile-picture { + height: 40px; + width: 40px; + margin: auto + } +} + +.main-navbar .user-actions { + font-size: 1.8em; + margin-right: -1rem; + line-height: 60px +} + +@media (max-width: 1900px) { + .main-navbar .user-actions { + line-height: 60px + } +} + +.main-navbar .user-actions .user-action { + color: #4E5566 +} + +.main-navbar .user-actions .user-action:hover, +.main-navbar .user-actions .user-action:active, +.main-navbar .user-actions .user-action:focus { + text-decoration: none +} + +.main-navbar .labelable .labeled { + font-size: 12px; + padding: 0px; + background-color: #00babc; + color: #fff; + border-radius: 50%; + height: 20px; + width: 20px; + line-height: 20px; + text-align: center; + display: inline-block; + bottom: 4px +} + +.main-navbar .labelable .labeled[data-counter-count] { + background-color: #D8636F +} + +.main-navbar .labelable .labeled[data-counter-count="0"] { + background-color: #BEBEC8 +} + +.main-navbar .labelable .unlabeled { + position: relative; + top: 6.25px +} + +@media (max-width: 768px) { + .main-navbar-search { + display: none + } +} + +@media (max-width: 1600px) { + .main-menu-trigger { + font-size: 1.8em + } + + .main-navbar .main-navbar-search { + font-size: 1.04em + } + + .main-navbar .main-navbar-search:before { + padding: 0 0 + } +} + +@media (max-width: 480px) { + .main-menu-trigger { + font-size: 1.8em; + line-height: 0 + } + + .main-navbar { + position: fixed; + top: 0; + left: 0; + right: 0; + height: 50px + } + + .main-navbar .main-navbar-logo { + width: 80px + } + + .main-navbar .main-navbar-logo img { + height: 30px; + margin: 10px 0 0 -4px + } + + .main-navbar .main-navbar-user-nav>.dropdown>a { + min-width: 160px; + line-height: 50px; + padding: 0px; + margin: 0px + } + + .main-navbar .main-navbar-user-nav>.dropdown>a>span { + width: 100%; + display: flex; + justify-content: flex-end + } + + .main-navbar .user-actions { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + margin: 5px; + margin-left: 15px; + line-height: 50px + } + + .main-navbar .user-actions .user-action { + margin-right: 25px + } + + .main-navbar .labelable .labeled { + bottom: 0px; + right: -10px + } +} + +.main-top-menu, +.hidden-sidebars { + display: none; + font-size: 1.9em +} + +.visible-sidebars { + display: block; + font-size: 1.9em +} + +html.turbolinks-progress-bar::before { + background-color: #00babc !important; + height: 2px !important +} + +.turbolinks-progress-bar { + background-color: #00babc !important; + height: 5px !important +} + +@media (max-width: 768px) { + + .main-top-menu, + .hidden-sidebars { + display: block + } + + .visible-sidebars { + display: none + } +} + +.basic-staff .main-left-navbar li a { + height: calc((100vh - 80px) / 9) +} + +.intrateam .main-left-navbar li a, +.translater .main-left-navbar li a { + height: calc((100vh - 80px) / 10) +} + +.left-sidebar-fix, +.right-sidebar-fix { + width: 400px; + box-flex: 0; + -ms-flex: 0 0 400px; + flex: 0 0 400px +} + +.left-sidebar-fix.with-main-menu, +.right-sidebar-fix.with-main-menu { + width: 400px; + box-flex: 0; + -ms-flex: 0 0 400px; + flex: 0 0 400px +} + +.left-sidebar-fix.without-main-menu, +.right-sidebar-fix.without-main-menu { + width: 80px; + box-flex: 0; + -ms-flex: 0 0 80px; + flex: 0 0 80px +} + +.left-main-container, +.right-main-container { + position: relative; + width: 400px; + -o-transition: all 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95); + transition: all 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95) +} + +.main-left-navbar { + position: relative; + z-index: 10; + width: 80px; + margin: 0; + padding: 0; + background-color: #292D39; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + flex-shrink: 0; + -ms-flex-negative: 0 +} + +.main-left-navbar:not(.pro-navbar):not(user-left-navbar) { + justify-content: space-between +} + +.main-left-navbar li { + list-style-type: none; + padding: 0; + margin: 0; + text-align: center; + content: ""; + display: block; + flex-shrink: 0; + -ms-flex-negative: 0 +} + +.main-left-navbar li:first-of-type { + padding-top: 60px +} + +@media (max-width: 1900px) { + .main-left-navbar li:first-of-type { + padding-top: 60px + } +} + +@media (max-width: 480px) { + .main-left-navbar li:first-of-type { + padding-top: 50px + } +} + +.main-left-navbar li a { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + -o-transition: background 0.3s; + transition: background 0.3s; + box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 100%; + height: calc((100vh - 80px) / 7); + max-height: 80px; + font-size: 25px; + color: #666e80 +} + +.main-left-navbar li a:hover, +.main-left-navbar li a:active, +.main-left-navbar li a:focus { + text-decoration: none +} + +.main-left-navbar li a.active { + color: #fff +} + +.main-left-navbar li a:hover:not(.active) { + cursor: pointer; + color: #fff +} + +.main-left-navbar .admin-links li a { + color: #845459 +} + +.main-left-navbar .admin-links li a.active { + color: #d8636f +} + +.main-left-navbar .admin-links li a:hover:not(.active) { + cursor: pointer; + color: #d8636f +} + +.main-left-navbar .admin-links li:first-of-type { + padding-top: 0 +} + +@media (max-width: 1900px) { + .main-left-navbar { + width: 80px + } + + .main-left-navbar li a { + font-size: 25px + } + + .overlay .main-left-navbar { + display: block + } +} + +@media (max-width: 1900px) and (max-width: 1600px) { + .main-left-navbar { + width: 80px + } + + .main-left-navbar li a { + font-size: 25px + } + + .overlay .main-left-navbar { + display: block + } +} + +@media (max-width: 1900px) { + + .left-main-container, + .right-main-container { + width: 350px + } + + .left-main-container:empty, + .right-main-container:empty { + width: 0px + } + + .right-main-container { + width: 0px; + display: none + } + + .right-sidebar-fix { + width: 0; + box-flex: 0; + -ms-flex: 0 0 0; + flex: 0 0 0 + } + + .left-sidebar-fix.with-main-menu { + width: 350px; + box-flex: 0; + -ms-flex: 0 0 350px; + flex: 0 0 350px + } +} + +@media (max-width: 1600px) { + + .left-main-container, + .right-main-container { + width: 300px + } + + .left-main-container:empty, + .right-main-container:empty { + width: 0px + } + + .left-sidebar-fix.with-main-menu { + box-flex: 0; + -ms-flex: 0 0 300px; + flex: 0 0 300px + } +} + +@media (max-width: 768px) { + .right-main-container { + display: none + } + + .left-main-container.page-sidebar-fixed-left.page-sidebar { + left: -300px + } + + .left-main-container.page-sidebar-fixed-left.page-sidebar.opened { + left: 0px + } + + .right-sidebar-fix, + .left-sidebar-fix { + width: 0px; + box-flex: 0; + -ms-flex: 0 0 0px; + flex: 0 0 0px + } + + .right-sidebar-fix.with-main-menu, + .right-sidebar-fix.without-main-menu, + .left-sidebar-fix.with-main-menu, + .left-sidebar-fix.without-main-menu { + width: 0px; + box-flex: 0; + -ms-flex: 0 0 0px; + flex: 0 0 0px + } + + .right-sidebar-fix.without-main-menu+.left-main-container.page-sidebar-fixed-left.page-sidebar.opened+.page-content, + .left-sidebar-fix.without-main-menu+.left-main-container.page-sidebar-fixed-left.page-sidebar.opened+.page-content { + left: 60px + } +} + +@media (max-width: 480px) { + + .left-main-container, + .right-main-container { + width: 100% + } + + .left-main-container.page-sidebar-fixed-left.page-sidebar { + left: -100% + } + + .left-main-container.page-sidebar-fixed-left.page-sidebar ul li .visible-overlay { + display: none + } + + .left-sidebar-fix { + width: 0; + box-flex: 0; + -ms-flex: 0 0 0; + flex: 0 0 0 + } + + .left-sidebar-fix.without-main-menu { + width: 0; + box-flex: 0; + -ms-flex: 0 0 0; + flex: 0 0 0 + } + + .left-sidebar-fix.with-main-menu { + width: 0; + box-flex: 0; + -ms-flex: 0 0 0; + flex: 0 0 0 + } + + .informations-sidebar { + margin-top: 10px; + font-size: 2.5em; + color: #fff; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); + padding-bottom: 10px; + margin-bottom: 10px + } + + .informations-sidebar .main-profile-row { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start + } + + .informations-sidebar .main-profile-row .user-image { + margin-right: 10px + } + + .informations-sidebar .sub-bar { + margin-top: 10px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: distribute; + -ms-justify-content: space-around; + -o-justify-content: space-around; + justify-content: space-around; + -ms-flex-pack: distribute + } + + .informations-sidebar .sub-bar a:hover, + .informations-sidebar .sub-bar a:active, + .informations-sidebar .sub-bar a:focus { + text-decoration: none + } + + .informations-sidebar .sub-bar .labeled { + font-size: 32px; + padding: 0px; + background-color: #00babc; + color: #fff; + border-radius: 50%; + height: 30px; + width: 30px; + line-height: 33px; + text-align: center; + display: inline-block; + bottom: 13px; + right: -35px + } +} + +.main-menu-overlay { + background-color: rgba(255, 255, 255, 0.9) +} + +.main-menu-overlay .close { + font-size: 3em; + margin-right: 50px; + margin-top: 40px +} + +@media (max-width: 480px) { + .main-menu-overlay .close { + margin-top: 20px; + margin-right: 30px; + font-size: 2.4em + } +} + +.main-menu-overlay .main-left-navbar { + margin: 100px; + width: 60%; + min-width: 400px; + margin-left: auto; + margin-right: auto; + background-color: transparent +} + +@media (max-width: 480px) { + .main-menu-overlay .main-left-navbar { + margin: 0 5% + } +} + +.main-menu-overlay .main-left-navbar li { + opacity: 0; + margin: 50px; + font-size: 1.7em; + border: none; + transition: all 0s 0.2s; + transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); +} + +@media (max-width: 480px) { + .main-menu-overlay .main-left-navbar li { + margin: 20px 0; + font-size: 0.7em + } +} + +.main-menu-overlay .main-left-navbar li a { + flex-direction: row; + justify-content: flex-start +} + +.main-menu-overlay .main-left-navbar li a span:first-child { + min-width: 150px +} + +@media (max-width: 480px) { + .main-menu-overlay .main-left-navbar li a span:first-child { + min-width: 120px + } +} + +.main-menu-overlay .main-left-navbar li a span:last-child { + margin-left: 5px +} + +.main-menu-overlay .main-left-navbar li a.active { + color: #00babc; + background-color: transparent; + background-image: none +} + +.main-menu-overlay .main-left-navbar li a:hover { + color: #00b7b9; + background-color: transparent; + background-image: none +} + +.main-menu-overlay .main-left-navbar li:nth-child(1) { + transition-delay: 0.1s +} + +.main-menu-overlay .main-left-navbar li:nth-child(2) { + transition-delay: 0.2s +} + +.main-menu-overlay .main-left-navbar li:nth-child(3) { + transition-delay: 0.3s +} + +.main-menu-overlay .main-left-navbar li:nth-child(4) { + transition-delay: 0.4s +} + +.main-menu-overlay .main-left-navbar li:nth-child(5) { + transition-delay: 0.5s +} + +.main-menu-overlay .main-left-navbar li:nth-child(6) { + transition-delay: 0.6s +} + +.main-menu-overlay.open li { + opacity: 1; + transform: translate3d(0, 0, 0) !important; + transition: all 0.3s; + transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1) +} + +.main-menu-overlay.open li a { + transition-duration: 0.3s +} + +.app-sidebar-left, +.app-sidebar-right { + padding-top: 60px; + display: block; + overflow-y: auto; + padding: 5px; + flex-grow: 1; + -ms-flex-positive: 1 +} + +.app-sidebar-left .sidebar-menu-list .sidebar-item-link, +.app-sidebar-right .sidebar-menu-list .sidebar-item-link { + display: block; + font-size: 1.1em; + padding: 4px; + color: #666e80 +} + +.app-sidebar-left .sidebar-menu-list .sidebar-item-link:hover, +.app-sidebar-left .sidebar-menu-list .sidebar-item-link:active, +.app-sidebar-left .sidebar-menu-list .sidebar-item-link:focus, +.app-sidebar-right .sidebar-menu-list .sidebar-item-link:hover, +.app-sidebar-right .sidebar-menu-list .sidebar-item-link:active, +.app-sidebar-right .sidebar-menu-list .sidebar-item-link:focus { + text-decoration: none +} + +.app-sidebar-left .sidebar-menu-list .sidebar-item-link:hover, +.app-sidebar-left .sidebar-menu-list .sidebar-item-link:hover .sidebar-icon, +.app-sidebar-left .sidebar-menu-list .sidebar-item-link.active, +.app-sidebar-right .sidebar-menu-list .sidebar-item-link:hover, +.app-sidebar-right .sidebar-menu-list .sidebar-item-link:hover .sidebar-icon, +.app-sidebar-right .sidebar-menu-list .sidebar-item-link.active { + color: #f2f2f2 +} + +.app-sidebar-left .sidebar-menu-list .sidebar-item-link .sidebar-icon, +.app-sidebar-right .sidebar-menu-list .sidebar-item-link .sidebar-icon { + margin-right: 5px +} + +.app-sidebar-left .sidebar-item:not(:first-of-type), +.app-sidebar-right .sidebar-item:not(:first-of-type) { + margin-top: 0; + padding-top: 10px +} + +.app-sidebar-left .sidebar-item .sidebar-mark, +.app-sidebar-right .sidebar-item .sidebar-mark { + color: rgba(32, 32, 38, 0.4); + font-weight: 400; + margin: 8px 0 5px; + text-transform: uppercase; + font-size: .8em; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + width: 100%; + text-align: center +} + +.app-sidebar-left { + position: relative; + background-color: #1e212a; + padding: 30px 20px; + padding-top: 60px; + font-family: 'Futura PT', 'San Francisco', Roboto, 'Segoe UI', 'Helvetica Neue', 'Lucida Grande', sans-serif +} + +.app-sidebar-left a:hover, +.app-sidebar-left a:active { + color: #fff +} + +.app-sidebar-left .sidebar-mark, +.app-sidebar-left .sidebar-item .sidebar-mark { + color: rgba(255, 255, 255, 0.4); + margin-top: 15px; + margin-bottom: 15px +} + +.app-sidebar-left .btn-create-new { + margin: 20px 0 30px; + width: 100% +} + +.app-sidebar-left .btn-create-new>button { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.app-sidebar-left .sidebar-tags-list { + padding-left: 0; + overflow-y: hidden +} + +.app-sidebar-left .sidebar-tags-list .sidebar-tags-search { + display: block; + margin-bottom: 10px +} + +.app-sidebar-left .sidebar-tags-list .sidebar-tags-search .input-tags-filter { + border: none; + background-color: rgba(255, 255, 255, 0.1); + font-style: italic; + color: #67676d; + border-radius: 50px; + width: 100%; + display: block; + padding: 3px 15px; + outline: none +} + +.app-sidebar-left .sidebar-tags-list .sidebar-tags-search .input-tags-filter:focus { + outline: none +} + +.app-sidebar-left .sidebar-tags-list .sidebar-tag-item { + font-size: 1.1em; + display: block; + list-style-type: none; + position: relative +} + +.app-sidebar-left .sidebar-tags-list .sidebar-tag-item>a:first-of-type { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + text-transform: capitalize; + padding: 2px; + color: #67676d +} + +.app-sidebar-left .sidebar-tags-list .sidebar-tag-item>a:first-of-type:hover, +.app-sidebar-left .sidebar-tags-list .sidebar-tag-item>a:first-of-type:active, +.app-sidebar-left .sidebar-tags-list .sidebar-tag-item>a:first-of-type:focus { + text-decoration: none +} + +.app-sidebar-left .sidebar-tags-list .sidebar-tag-item>a:first-of-type:hover { + color: #fff +} + +.app-sidebar-right { + background-color: #e5e5e5; + padding: 30px 40px; + padding-top: 80px; + margin-right: 0px +} + +@media (max-width: 992px) { + .app-sidebar-right { + padding: 10px 10px; + padding-top: 0px; + margin-right: 10px; + min-width: 170px + } +} + +.app-sidebar-right h4 { + font-size: 1.7em; + color: #67676d +} + +h4.sidebar-right-search-title { + color: #67676d; + font-size: 1.7em; + margin-top: 15px; + margin-bottom: 25px +} + +h4.sidebar-right-search-title .icon-search:before { + padding-right: 15px +} + +.icon-search:before, +.icon-list-2-1:before { + padding-right: 15px +} + +.search-mobile-button:hover, +.search-mobile-button:active, +.search-mobile-button:focus { + text-decoration: none +} + +@media (max-width: 768px) { + .search-mobile-button { + font-size: 1.7em; + line-height: 2.65em; + margin: 0 5px + } +} + +@media (max-width: 480px) { + .search-mobile-button { + line-height: 2.4em + } +} + +.sidebar-search input { + border: none; + background-color: #fff; + border-radius: 50px; + padding: 3px 15px; + display: block; + width: 100% +} + +.sidebar-search input:focus { + outline: none +} + +.inline-search-form { + display: inline-block +} + +.inline-search-form input { + padding: 2px 5px; + border: none; + background-color: rgba(0, 0, 0, 0.05); + border-radius: 2px; + outline-color: #00babc; + outline-width: thin +} + +.search-title { + margin: 21px 0 +} + +.search-item { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + padding-bottom: 10px +} + +.search-item:not(:last-child) { + margin-bottom: 10px; + border-bottom: 1px solid #f7f7f7 +} + +.search-item .search-item-thumb { + max-width: 10%; + width: 200px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: baseline; + -ms-align-items: baseline; + -o-align-items: baseline; + align-items: baseline; + -ms-flex-align: baseline; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center +} + +.search-item .search-item-thumb>.bg-image-item { + height: 50px; + width: 50px +} + +.search-item .search-item-thumb .video-thumb { + height: auto; + width: 100% +} + +.search-item .top-item { + padding: 0px 0; + background-color: rgba(255, 255, 255, 0.4) +} + +.search-item .search-item-main em { + background-color: rgba(250, 155, 30, 0.34); + text-transform: none; + font-style: normal; + padding: 0px 2px +} + +.search-item .search-item-main { + box-flex: 1; + -ms-flex: 1 1 100%; + flex: 1 1 100% +} + +.search-item.search-user-item { + width: 100%; + max-width: 100px; + min-height: 150px; + background: #eee; + margin: 5px 6px; + display: inline-block; + position: relative; + text-align: center; + background-position: 50% 50%; + background-size: 100% auto; + background-repeat: no-repeat; + background-size: cover; + background-position: 50% 0%; + border-radius: 3px; + border: 1px solid #eee; + -o-transition: box-shadow, 0.3s; + transition: box-shadow, 0.3s +} + +.search-item.search-user-item.high { + min-height: 170px +} + +.search-item.search-user-item:hover { + -o-transition: box-shadow, 0.3s; + transition: box-shadow, 0.3s; + box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1) +} + +.search-item.search-user-item .search-item-thumb { + text-align: center; + max-width: auto; + width: 100%; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center +} + +.search-item.search-user-item .search-item-main { + position: absolute; + bottom: 0px; + width: 100%; + background-color: #fff; + overflow-x: hidden; + word-wrap: break-word +} + +.search-item.search-video-item, +.search-item.search-pdf-item { + width: 50%; + max-width: 195px; + min-height: 150px; + margin: 5px 6px; + vertical-align: bottom; + display: inline-block; + position: relative; + text-align: center; + background-position: 50% 50%; + background-size: 100% auto; + background-repeat: no-repeat; + background-position: 50% 0%; + border-radius: 5px; + border: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.1) +} + +.search-item.search-video-item img, +.search-item.search-pdf-item img { + text-align: center; + max-width: auto; + width: 100%; + border-top-right-radius: 5px; + border-top-left-radius: 5px; + margin-bottom: 5px +} + +.search-item.search-video-item .search-item-main, +.search-item.search-pdf-item .search-item-main { + position: absolute; + padding: 0 5px; + bottom: 0px; + width: 100%; + background-color: #fff; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px +} + +.search-item.search-video-item .search-item-main { + background-color: #fff +} + +.search-item.search-pdf-item .search-item-main { + left: 0; + background-color: rgba(255, 255, 255, 0.7); + border-top: 1px solid #f7f7f7 +} + +.search-item.search-pdf-item .search-item-text { + color: #202026; + background-color: rgba(255, 255, 255, 0.7) +} + +.search-suggestion-item { + display: block; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start +} + +.search-suggestion-item .search-user-picture { + margin-right: 10px +} + +.notifications-container { + position: absolute; + width: 300px; + background-color: #fff; + display: none; + z-index: 1200; + border: 1px solid rgba(0, 0, 0, 0.1); + border-top-color: #fff; + box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); + border-radius: 0 0 3px; + opacity: 0; + -o-transition: 0.2s opacity; + transition: 0.2s opacity; + transition-delay: 0.2s +} + +.notifications-container.open { + display: block; + opacity: 1; + -o-transition: 0.2s opacity; + transition: 0.2s opacity; + transition-delay: 0.2s +} + +.notifications-container::after { + content: ""; + display: block; + position: absolute; + top: -7px; + right: 12px +} + +.notifications-container .notifications--header { + display: block; + text-transform: uppercase; + color: #67676d; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + font-size: .7em; + padding: 5px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.notifications-container .menu-drop-list { + padding: 0; + margin: 0px; + display: block; + max-height: 300px; + overflow-y: scroll +} + +.notifications-container .menu-drop-list .menu-drop-item { + display: block; + padding: 0px; + position: relative +} + +.notifications-container .menu-drop-list .menu-drop-item.unread { + background-color: rgba(53, 53, 59, 0.05) +} + +.notifications-container .menu-drop-list .menu-drop-item.read { + -o-transition: 2s border-left-color, 0.3s background-color; + transition: 2s border-left-color, 0.3s background-color; + transition-delay: 1s; + background-color: #fff +} + +.notifications-container .menu-drop-list .menu-drop-item>a { + border: 1px solid transparent; + padding: 5px; + display: block; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.notifications-container .menu-drop-list .menu-drop-item>a:hover, +.notifications-container .menu-drop-list .menu-drop-item>a:active, +.notifications-container .menu-drop-list .menu-drop-item>a:focus { + text-decoration: none +} + +.notifications-container .menu-drop-list .menu-drop-item>a:hover { + background-color: rgba(53, 53, 59, 0.05) +} + +.notifications-container .menu-drop-list .menu-drop-item span[class^="icon-"] { + margin-right: 3px +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-image { + display: inline-block; + max-width: 50px; + flex-grow: 0; + -ms-flex-positive: 0; + flex-shrink: 0; + -ms-flex-negative: 0 +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-image+.menu-drop-content { + margin-left: 10px +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-content { + flex-grow: 1; + -ms-flex-positive: 1 +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-name, +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-title, +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-text, +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-actions { + display: block +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-text { + color: #35353b +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-progress { + height: 10px; + margin: 10px 0px 0 +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-progress .progress { + height: 10px +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-progress .progress .progress-bar { + font-size: 10px; + line-height: 10px; + background: #67676d; + box-shadow: none +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-created { + position: absolute; + right: 5px; + top: 0px; + color: #67676d +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-title { + font-size: .9em +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-actions { + font-size: 1.3em +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-actions a:hover, +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-actions a:active, +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-actions a:focus { + text-decoration: none +} + +.notifications-container .menu-drop-list .menu-drop-item .menu-drop-actions a:last-of-type { + margin-left: 5px +} + +.notifications-container .menu-drop-list .menu-drop-item:not(:first-child) { + border-top: 1px solid #f2f2f2 +} + +.notifications-container .menu-drop-list:empty:before { + content: "Nothing here, well done !"; + color: rgba(0, 0, 0, 0.5); + text-align: center; + display: block; + padding: 10px 0 +} + +.notifications-container .menu-drop-list.loading:empty:before { + content: "Loading" +} + +.notifications-container.open+.main-navbar [data-notification-drop] { + color: #00babc +} + +.user-pop-over { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1) +} + +.user-pop-over .user-popup-image { + background-position: 50% 50%; + background-size: 100% auto; + background-repeat: no-repeat; + min-width: 120px; + flex-shrink: 0; + -ms-flex-negative: 0 +} + +.user-pop-over .user-popup-info { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + padding: 0px 10px 0px 10px; + flex-grow: 1; + -ms-flex-positive: 1 +} + +.user-pop-over .user-popup-info .user-popup-login { + text-transform: capitalize +} + +.user-pop-over .user-popup-info .user-popup-location [data-user-location] { + color: #5cb85c +} + +.user-pop-over .user-popup-info .user-popup-location [data-user-location="null"] { + color: #D8636F +} + +.user-badge:not(:empty) { + color: #35353b; + background-color: transparent; + border: 1px solid #35353b; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; + color: #fff; + display: inline; + padding: .2em .7em .2em; + font-size: .7em; + font-weight: bold; + line-height: 1 +} + +a+.user-badge:not(:empty), +span+.user-badge:not(:empty) { + margin-left: 5px +} + +@keyframes atlas { + 0% { + background-position: 0 20% + } + + 50% { + background-position: 21% 79% + } + + 100% { + background-position: 80% 120% + } +} + +.user-badge[data-slug="atlas"] { + background: linear-gradient(#1d81b9 33%, #d95d2f 67%, #1d81b9 100%); + background-size: 100% 500%; + animation: atlas 2s infinite; + animation-timing-function: linear; + border: none; + padding: 3px 7px +} + +.profile-item .user-primary .user-infos .profile-name span.user-badge[data-slug="atlas"] { + padding: 6px 11px +} + +span.mention { + font-weight: bold; + color: #C07307 +} + +span.mention[data-read]::after { + color: #67676d; + margin-left: 3px; + position: relative; + top: 2px +} + +span.mention[data-read="false"]:after { + font-family: streamline-30px; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: "" +} + +span.mention[data-read="true"]:after { + font-family: streamline-30px; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: "" +} + +.student-wrapper { + float: left; + position: relative; + padding-left: 15px; + padding-right: 15px; + min-width: 110px +} + +.student-wrapper.closed { + opacity: 0.5 +} + +@media (min-width: 768px) { + .student-wrapper { + min-width: 110px; + width: 25% + } +} + +@media (min-width: 992px) { + .student-wrapper { + min-width: 120px; + width: 12% + } +} + +@media (min-width: 1600px) { + .student-wrapper { + min-width: 120px; + width: 12% + } +} + +.student-item { + font-weight: normal; + margin-bottom: 10px; + display: inline-block; + width: 100%; + height: 160px; + max-width: 100px; + margin: 10px; + text-align: center; + background-color: #f9f9f9; + border: solid 1px #f2f2f2; + border-radius: 2px +} + +.student-item.student-kind-admin { + border-top: solid 3px #D8636F +} + +.student-item.student-kind-hec { + border-top: solid 3px #00babc +} + +.student-item.student-kind-event { + border-top: solid 3px #E6B291 +} + +.student-item:hover { + background-color: #f2f2f2; + text-decoration: none +} + +.student-item:hover .student-image { + filter: constrast(1.2); + filter: brightness(0.9) +} + +.student-item .student-image { + width: 100%; + height: 120px; + background-size: cover; + background-position: center; + border-bottom: solid 1px #f2f2f2 +} + +.student-item [class^=student-kind] { + color: #f2f2f2; + border-radius: 2px; + padding: 0px 5px; + color: #fff +} + +.student-item [class^=student-kind]:before { + content: '●' +} + +.student-item .student-kind-student { + display: none +} + +.student-item .student-login { + font-size: 12px; + color: #5b5b60; + margin-top: 10px +} + +.student-item .student-location { + position: relative; + float: left; + left: 7px; + width: 0px; + color: #5cb85c +} + +.student-item .student-no-location { + position: relative; + float: left; + left: 7px; + width: 0px; + color: #a8a8ac +} + +.upload-doc { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.upload-doc .doc-example, +.upload-doc .doc-rules { + box-flex: 1; + -ms-flex: 1 1 50%; + flex: 1 1 50%; + padding: 10px; + margin: 0 +} + +.upload-doc pre { + border: 1px solid #e5e5e5; + background: #f2f2f2 +} + +.upload-doc .table { + border: none +} + +.upload-doc .table thead { + border-bottom: 2px solid #e5e5e5 +} + +.upload-doc .table thead th { + text-align: left +} + +.upload-doc .table tbody tr:not(:last-of-type) { + border-bottom: 1px solid #e5e5e5 +} + +.upload-doc .table tbody td { + text-align: left +} + +.upload-doc h2 { + color: #00babc; + font-size: 1.2em +} + +.js-import-results { + border-top: 1px solid #e5e5e5; + padding-top: 10px +} + +.js-import-results:before { + content: "Errors preview"; + display: block; + font-weight: bold; + padding: 10px 0 +} + +.ol-is-watching-you { + position: fixed; + bottom: 35px; + right: 35px; + z-index: 665 +} + +.help-button { + position: fixed; + bottom: 35px; + right: 35px; + z-index: 666; + border-radius: 50%; + width: 50px; + height: 50px; + background-color: #E05757; + box-shadow: 0 3px 2px 0 rgba(0, 0, 0, 0.1), 0 7px 11px -2px rgba(0, 0, 0, 0.1), 0 5px 17px 0 rgba(0, 0, 0, 0.3); + transition: all .2s ease-out; + display: flex; + align-items: center +} + +.help-button .fa { + text-decoration: none; + color: #fff; + margin: auto; + font-size: 25px +} + +.help-button:hover { + text-decoration: none; + background-color: #ea2c2c +} + +.message-item-hoverable { + opacity: 0 +} + +@media (max-width: 767px) { + .message-item-hoverable { + opacity: 1 + } +} + +.message-item:hover .message-item-hoverable { + opacity: 1 +} + +.message-item-lighteable { + opacity: 0.5; + -o-transition: opacity 0.1s; + transition: opacity 0.1s +} + +@media (max-width: 767px) { + .message-item-lighteable { + opacity: 1 + } +} + +.message-item:hover .message-item-lighteable { + opacity: 1 +} + +.message-reply-item-hoverable { + opacity: 0 +} + +@media (max-width: 767px) { + .message-reply-item-hoverable { + opacity: 1 + } +} + +.message-reply-item:hover .message-reply-item-hoverable { + opacity: 1 +} + +.message-reply-item-lighteable { + opacity: 0.4; + -o-transition: opacity 0.1s; + transition: opacity 0.1s +} + +@media (max-width: 767px) { + .message-reply-item-lighteable { + opacity: 1 + } +} + +.message-reply-item:hover .message-reply-item-lighteable { + opacity: 1 +} + +@media (max-width: 1200px) { + .message-item .message-metadata .votes-actions { + display: none + } +} + +.message-item img, +.message-item table, +.message-item pre, +.message-item code, +.message-item embed { + max-width: 100% +} + +.message-item img { + width: auto !important; + width: 100% +} + +.message-item.active { + background-color: rgba(199, 183, 151, 0.11) +} + +.message-item .read-state:after { + content: ""; + height: 10px; + width: 10px; + margin-bottom: 1px; + border-radius: 5px; + display: inline-block; + -o-transition: background-color 0.1s ease-in-out 1s; + transition: background-color 0.1s ease-in-out 1s +} + +.message-item[data-message-read=false] .read-state:after { + background-color: rgba(0, 186, 188, 0.7) +} + +.message-item:not(:last-of-type) { + border-bottom: 1px solid #f7f7f7 +} + +.message-item .message-primary { + padding-top: 10px; + padding-bottom: 10px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +@media (max-width: 992px) { + .message-item .message-primary { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify + } +} + +@media (max-width: 480px) { + .message-item .message-primary { + background-color: #fff + } +} + +.message-item .message-metadata { + position: relative; + text-align: right; + margin: 5px 0 +} + +.message-item .message-metadata .bg-image-item { + height: 60px; + width: 60px +} + +@media (max-width: 1600px) { + .message-item .message-metadata { + text-align: left + } +} + +@media (max-width: 992px) { + .message-item .message-metadata { + min-height: 0px + } +} + +.message-item .message-corner-main { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: baseline; + -ms-align-items: baseline; + -o-align-items: baseline; + align-items: baseline; + -ms-flex-align: baseline; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + margin-bottom: 10px +} + +@media (max-width: 992px) { + .message-item .message-corner-main { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: baseline; + -ms-align-items: baseline; + -o-align-items: baseline; + align-items: baseline; + -ms-flex-align: baseline; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: end; + -ms-justify-content: flex-end; + -o-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end + } +} + +.message-item .message-corner-left { + display: inline-block +} + +.message-item .message-corner, +.message-item .message-corner-left, +.message-item .message-reply-corner { + display: inline-block; + text-align: right; + margin-top: 10px; + margin-bottom: -10px +} + +.message-item .message-corner .message-corner-item, +.message-item .message-corner-left .message-corner-item, +.message-item .message-reply-corner .message-corner-item { + display: inline-block; + color: #35353b; + margin-left: 15px +} + +.message-item .message-corner .message-corner-item [class^="icon-"]:before, +.message-item .message-corner-left .message-corner-item [class^="icon-"]:before, +.message-item .message-reply-corner .message-corner-item [class^="icon-"]:before { + color: #67676d; + margin-right: 5px +} + +.message-item .message-corner .message-corner-item [class^="icon-"]:before:not(:first-child):before, +.message-item .message-corner-left .message-corner-item [class^="icon-"]:before:not(:first-child):before, +.message-item .message-reply-corner .message-corner-item [class^="icon-"]:before:not(:first-child):before { + content: "-"; + margin: 0 2px; + color: #67676d +} + +.message-item .message-corner .dropdown, +.message-item .message-corner-left .dropdown, +.message-item .message-reply-corner .dropdown { + display: inline-block +} + +.message-item .message-corner .dropdown .dropdown-menu, +.message-item .message-corner-left .dropdown .dropdown-menu, +.message-item .message-reply-corner .dropdown .dropdown-menu { + right: 0; + left: inherit; + text-align: left +} + +.message-item .message-corner .dropdown .btn, +.message-item .message-corner-left .dropdown .btn, +.message-item .message-reply-corner .dropdown .btn { + padding: 0 +} + +.message-item .message-author { + text-align: right; + display: inline-block; + margin: 10px 0 0 +} + +@media (max-width: 1600px) { + .message-item .message-author { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: end; + -ms-justify-content: flex-end; + -o-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end + } + + .message-item .message-author .top-author-name { + margin-left: 15px; + font-size: 1.4em + } +} + +@media (max-width: 992px) { + .message-item .message-author { + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start + } +} + +@media (max-width: 480px) { + .message-item .message-author .top-author-name { + margin-left: 10px; + font-size: 1.2em + } +} + +.message-item .author-name { + text-align: left; + font-size: 1.2em +} + +.message-item .message-body { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.message-item .message-content { + overflow-wrap: break-word +} + +.message-item .message-content [data-watch-id].badge { + margin-left: 3px +} + +.message-item .message-footer { + display: block; + clear: both +} + +.message-item .message-replies-list:not(:empty) { + background-color: #f2f2f2; + margin: 5px 0px 10px 0px; + margin-left: 10% +} + +@media (max-width: 768px) { + .message-item .message-replies-list:not(:empty) { + margin-left: 0% + } +} + +@media (max-width: 480px) { + .message-item .message-replies-list:not(:empty) { + margin: 0px 5px 10px; + border-top: 1px solid #e5e5e5; + box-shadow: 0px 2px 15px #e5e5e5 inset + } +} + +.message-item .message-replies-list:empty { + background-color: transparent; + display: none +} + +.message-item .message-reply .message_content textarea { + min-height: 50px; + resize: none; + border-radius: 0px; + box-shadow: none; + background: rgba(0, 0, 0, 0.025); + border: none +} + +.message-item .message-reply-item { + background-color: #F5F5F5; + margin: 0px 0px; + padding-top: 10px; + padding-bottom: 10px +} + +.message-item .message-reply-item:not(:first-of-type) { + border-top: 1px solid #e5e5e5 +} + +.message-item .message-reply-item.destroyed-item { + background-color: #E5CBCD +} + +.message-item .message-reply-item .reply-body { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: start; + -ms-align-items: flex-start; + -o-align-items: flex-start; + align-items: flex-start; + -ms-flex-align: start; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +@media (max-width: 480px) { + .message-item .message-reply-item .reply-body { + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch + } +} + +.message-item .message-reply-item .reply-metadata { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: distribute; + -ms-justify-content: space-around; + -o-justify-content: space-around; + justify-content: space-around; + -ms-flex-pack: distribute; + flex-shrink: 0; + -ms-flex-negative: 0; + text-align: right; + margin-top: 15px +} + +@media (max-width: 480px) { + .message-item .message-reply-item .reply-metadata { + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify + } +} + +.message-item .message-reply-item .reply-metadata .reply-author { + text-align: right; + position: absolute; + right: -25px +} + +@media (max-width: 768px) { + .message-item .message-reply-item .reply-metadata .reply-author { + position: inherit; + right: 0 + } +} + +@media (max-width: 480px) { + .message-item .message-reply-item .reply-metadata .reply-author { + position: inherit; + right: 0; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start + } + + .message-item .message-reply-item .reply-metadata .reply-author span { + margin-left: 10px; + font-size: 1em + } +} + +.message-item .message-reply-item .reply-metadata .reply-vote-summary { + flex-shrink: 0; + -ms-flex-negative: 0; + min-width: 30px; + font-size: 1em; + margin: 5px 10px 0 5px; + position: relative +} + +.message-item .message-reply-item .reply-metadata .reply-vote-summary:not([data-vote-count^="-"]):before, +.message-item .message-reply-item .reply-metadata .reply-vote-summary[data-vote-count^="-"]:before { + margin-right: 4px +} + +.message-item .message-reply-item .reply-metadata .reply-vote-summary:not([data-vote-count^="-"]), +.message-item .message-reply-item .reply-metadata .reply-vote-summary:not([data-vote-count^="-"]):before { + color: #5cb85c +} + +.message-item .message-reply-item .reply-metadata .reply-vote-summary:not([data-vote-count^="-"]):before { + font-family: streamline-filled; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: "" +} + +.message-item .message-reply-item .reply-metadata .reply-vote-summary[data-vote-count^="-"], +.message-item .message-reply-item .reply-metadata .reply-vote-summary[data-vote-count^="-"]:before { + color: #D8636F +} + +.message-item .message-reply-item .reply-metadata .reply-vote-summary[data-vote-count^="-"]:before { + font-family: streamline-filled; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: "" +} + +@media (max-width: 480px) { + .message-item .message-reply-item .reply-metadata .reply-vote-summary { + margin: 5px 0px 0 5px + } +} + +.message-item .message-reply-item .reply-content { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + flex-grow: 1; + -ms-flex-positive: 1 +} + +.message-item .message-reply-item .reply-content .reply-content-header, +.message-item .message-reply-item .reply-content .reply-content-text { + margin-left: 20px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: baseline; + -ms-align-items: baseline; + -o-align-items: baseline; + align-items: baseline; + -ms-flex-align: baseline; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + box-lines: multiple; + -ms-flex-wrap: wrap; + flex-wrap: wrap +} + +@media (max-width: 768px) { + + .message-item .message-reply-item .reply-content .reply-content-header, + .message-item .message-reply-item .reply-content .reply-content-text { + margin-left: 0px + } +} + +.message-item .message-reply-item .reply-content .reply-content-header { + margin-top: 2px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: baseline; + -ms-align-items: baseline; + -o-align-items: baseline; + align-items: baseline; + -ms-flex-align: baseline; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.message-item .message-reply-item .reply-content .reply-content-header .author-name, +.message-item .message-reply-item .reply-content .reply-content-header .reply-dates, +.message-item .message-reply-item .reply-content .reply-content-header .reply-actions { + color: #35353b; + margin-right: 5px +} + +.message-item .message-reply-item .reply-content .reply-content-header .author-name:not(:first-child):before, +.message-item .message-reply-item .reply-content .reply-content-header .reply-dates:not(:first-child):before, +.message-item .message-reply-item .reply-content .reply-content-header .reply-actions:not(:first-child):before { + content: "-"; + margin: 0 2px; + color: #67676d +} + +@media (max-width: 480px) { + .message-item .message-reply-item .reply-content .reply-content-header .message-corner-main { + flex-grow: 1; + -ms-flex-positive: 1 + } +} + +.message-item .message-reply-item .reply-content .reply-content-text { + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + color: #2c2c34 +} + +.message-item .message-reply-item .reply-content .reply-content-text .video.youtube { + max-width: 100%; + overflow-x: hidden +} + +.message-item .message-reply-item .reply-content .reply-content-text p { + width: 100%; + overflow: hidden +} + +@media (max-width: 480px) { + .message-item .message-reply-item .reply-content .reply-content-text { + margin-left: 0; + padding-left: 15px + } +} + +.message-item .message-reply-item .reply-content .reply-content-footer { + align-self: flex-end; + -ms-flex-item-align: end +} + +.message-item .message-reply-item .reply-actions { + margin-top: 5px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + flex-grow: 1; + -ms-flex-positive: 1 +} + +.message-item .message-reply-item .reply-votes-actions { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + flex-grow: 1; + -ms-flex-positive: 1 +} + +.message-item .message-reply-item .reply-votes-actions .reply-vote-arrow { + background: inherit; + border: inherit; + color: #00babc +} + +.message-item .message-reply-item .reply-votes-actions .reply-vote-up, +.message-item .message-reply-item .reply-votes-actions .reply-vote-down, +.message-item .message-reply-item .reply-votes-actions .reply-vote-summary { + flex-shrink: 0; + -ms-flex-negative: 0; + min-width: 30px; + display: inline-block; + margin-left: 5px +} + +.message-item .message-reply-item .reply-votes-actions .reply-vote-up a:hover, +.message-item .message-reply-item .reply-votes-actions .reply-vote-up a:active, +.message-item .message-reply-item .reply-votes-actions .reply-vote-up a:focus, +.message-item .message-reply-item .reply-votes-actions .reply-vote-down a:hover, +.message-item .message-reply-item .reply-votes-actions .reply-vote-down a:active, +.message-item .message-reply-item .reply-votes-actions .reply-vote-down a:focus, +.message-item .message-reply-item .reply-votes-actions .reply-vote-summary a:hover, +.message-item .message-reply-item .reply-votes-actions .reply-vote-summary a:active, +.message-item .message-reply-item .reply-votes-actions .reply-vote-summary a:focus { + text-decoration: none +} + +.message-item .message-reply-item .reply-footer { + text-align: right +} + +.message-item .message-reply-item .reply-footer .direct-reply-link { + margin: 0 5px +} + +.message-item .message-direct-reply { + padding-right: 10px +} + +.message-item .message-direct-reply textarea { + min-height: 40px; + padding: 5px; + resize: none; + border-radius: 0; + border: none; + background: rgba(0, 0, 0, 0.05) +} + +.message-item[data-id="virtual"] { + -o-transition: opacity 0.3s ease-in-out; + transition: opacity 0.3s ease-in-out +} + +.message-item[data-id="virtual"] .message-metadata, +.message-item[data-id="virtual"] .message-corner-main, +.message-item[data-id="virtual"] .message-body-footer { + opacity: .5 +} + +.message-item[data-id="virtual"]:before { + content: "(message preview)"; + text-transform: uppercase; + display: block; + text-align: center; + color: rgba(0, 0, 0, 0.5) +} + +.preloading-state { + display: none +} + +[data-processing="processing"] .preloading-state, +.infinite-loader:before { + display: inline-block; + background-position: 50% 50%; + background-size: 100% auto; + background-repeat: no-repeat; + background-image: url(/assets/loading-spin-49fc90f78e43d0b042cbf45ade0ed02c6ac0b4fc835686aa05b6732da819d0ac.svg); + width: 15px; + height: 15px +} + +.infinite-loader:before { + content: ""; + width: 13px; + height: 13px +} + +h1.infinite-loader:before { + margin-right: 5px +} + +.message-item.item-search .message-body { + justify-content: flex-start +} + +.message-item.item-search .message-topic-title { + margin-top: 0px; + margin-bottom: 20px +} + +.main-search-input { + transition: all .3s +} + +.main-search-input .form-control { + transition: all .2s; + box-shadow: none; + background-color: #fcfcfc; + border-color: #e6e6e6 +} + +.main-search-input .form-control:hover { + border-color: #00babc +} + +.main-search-input button.btn-lg, +.main-search-input .btn-group-lg>button.btn { + transition: all .2s; + padding: 11px 16px 10px +} + +.message-bottom-main-reply { + border-radius: 4px; + background: #f2f2f2; + color: #00babc; + border: none +} + +.messages-bottom { + content: ""; + margin-top: 40px; + display: block; + transition: .3s all +} + +.message-item.targeted { + -o-animation: fade 4s ease-in; + animation: fade 4s ease-in +} + +@-webkit-keyframes fade { + from { + background-color: rgba(103, 103, 109, 0.1) + } + + to { + background-color: #fff + } +} + +@-moz-keyframes fade { + from { + background-color: rgba(103, 103, 109, 0.1) + } + + to { + background-color: #fff + } +} + +@keyframes fade { + from { + background-color: rgba(103, 103, 109, 0.1) + } + + to { + background-color: #fff + } +} + +.fixed-topic-header { + top: -200px; + position: fixed; + background-color: #fff; + z-index: 400; + padding: 0 15px; + border-bottom: 1px solid #eee; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + -o-transition: all, 0.3s; + transition: all, 0.3s +} + +.fixed-topic-header .topic-title-name { + display: inline-block +} + +.fixed-topic-header.active { + display: block; + top: 0px +} + +.message-edit-form textarea { + height: 400px +} + +@media (min-width: 1900px) { + .btn-group>.btn.message-main-reply:last-child:not(:first-child) { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px + } +} + +@media (max-width: 767px) { + .message-item .message-primary { + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column + } + + .message-item .message-metadata { + text-align: left + } + + .new_message .btn-primary, + .message-reply-box, + .message-reply-box .btn-primary { + display: block; + width: 100%; + float: none + } +} + +.pb_messages_title { + width: 100%; + text-align: center; + background-color: #29292e; + padding: 10px; + margin-top: 0px; + color: #FFFFFF +} + +span.forum-tag { + padding-bottom: 2px +} + +.forum-tag { + background-color: #35353b +} + +.forum-tag[tag-name^="a"] { + background-color: rgba(0, 145, 188, 0.7) +} + +.forum-tag[tag-name^="a"] a:hover { + background-color: #0091bc +} + +.forum-tag[tag-name^="b"] { + background-color: rgba(0, 101, 188, 0.7) +} + +.forum-tag[tag-name^="b"] a:hover { + background-color: #0065bc +} + +.forum-tag[tag-name^="c"] { + background-color: rgba(0, 58, 188, 0.7) +} + +.forum-tag[tag-name^="c"] a:hover { + background-color: #003abc +} + +.forum-tag[tag-name^="d"] { + background-color: rgba(0, 14, 188, 0.7) +} + +.forum-tag[tag-name^="d"] a:hover { + background-color: #000ebc +} + +.forum-tag[tag-name^="e"] { + background-color: rgba(30, 0, 188, 0.7) +} + +.forum-tag[tag-name^="e"] a:hover { + background-color: #1e00bc +} + +.forum-tag[tag-name^="f"] { + background-color: rgba(74, 0, 188, 0.7) +} + +.forum-tag[tag-name^="f"] a:hover { + background-color: #4a00bc +} + +.forum-tag[tag-name^="g"] { + background-color: rgba(115, 0, 188, 0.7) +} + +.forum-tag[tag-name^="g"] a:hover { + background-color: #7300bc +} + +.forum-tag[tag-name^="h"] { + background-color: rgba(159, 0, 188, 0.7) +} + +.forum-tag[tag-name^="h"] a:hover { + background-color: #9f00bc +} + +.forum-tag[tag-name^="i"] { + background-color: rgba(188, 0, 173, 0.7) +} + +.forum-tag[tag-name^="i"] a:hover { + background-color: #bc00ad +} + +.forum-tag[tag-name^="j"] { + background-color: rgba(188, 0, 130, 0.7) +} + +.forum-tag[tag-name^="j"] a:hover { + background-color: #bc0082 +} + +.forum-tag[tag-name^="k"] { + background-color: rgba(188, 0, 86, 0.7) +} + +.forum-tag[tag-name^="k"] a:hover { + background-color: #bc0056 +} + +.forum-tag[tag-name^="l"] { + background-color: rgba(188, 0, 42, 0.7) +} + +.forum-tag[tag-name^="l"] a:hover { + background-color: #bc002a +} + +.forum-tag[tag-name^="m"] { + background-color: rgba(188, 2, 0, 0.7) +} + +.forum-tag[tag-name^="m"] a:hover { + background-color: #bc0200 +} + +.forum-tag[tag-name^="n"] { + background-color: rgba(188, 43, 0, 0.7) +} + +.forum-tag[tag-name^="n"] a:hover { + background-color: #bc2b00 +} + +.forum-tag[tag-name^="o"] { + background-color: rgba(188, 87, 0, 0.7) +} + +.forum-tag[tag-name^="o"] a:hover { + background-color: #bc5700 +} + +.forum-tag[tag-name^="p"] { + background-color: rgba(188, 130, 0, 0.7) +} + +.forum-tag[tag-name^="p"] a:hover { + background-color: #bc8200 +} + +.forum-tag[tag-name^="q"] { + background-color: rgba(188, 174, 0, 0.7) +} + +.forum-tag[tag-name^="q"] a:hover { + background-color: #bcae00 +} + +.forum-tag[tag-name^="r"] { + background-color: rgba(158, 188, 0, 0.7) +} + +.forum-tag[tag-name^="r"] a:hover { + background-color: #9ebc00 +} + +.forum-tag[tag-name^="s"] { + background-color: rgba(114, 188, 0, 0.7) +} + +.forum-tag[tag-name^="s"] a:hover { + background-color: #72bc00 +} + +.forum-tag[tag-name^="t"] { + background-color: rgba(73, 188, 0, 0.7) +} + +.forum-tag[tag-name^="t"] a:hover { + background-color: #49bc00 +} + +.forum-tag[tag-name^="u"] { + background-color: rgba(29, 188, 0, 0.7) +} + +.forum-tag[tag-name^="u"] a:hover { + background-color: #1dbc00 +} + +.forum-tag[tag-name^="v"] { + background-color: rgba(0, 188, 15, 0.7) +} + +.forum-tag[tag-name^="v"] a:hover { + background-color: #00bc0f +} + +.forum-tag[tag-name^="w"] { + background-color: rgba(0, 188, 58, 0.7) +} + +.forum-tag[tag-name^="w"] a:hover { + background-color: #00bc3a +} + +.forum-tag[tag-name^="x"] { + background-color: rgba(0, 188, 102, 0.7) +} + +.forum-tag[tag-name^="x"] a:hover { + background-color: #00bc66 +} + +.forum-tag[tag-name^="y"] { + background-color: rgba(0, 188, 146, 0.7) +} + +.forum-tag[tag-name^="y"] a:hover { + background-color: #00bc92 +} + +.forum-tag[tag-name^="z"] { + background-color: rgba(0, 186, 188, 0.7) +} + +.forum-tag[tag-name^="z"] a:hover { + background-color: #00babc +} + +.tags-list { + display: inline-block +} + +.sidebar-tag-item .label { + margin-right: 15px +} + +.sidebar-tag-item .tag-toggle-item { + position: absolute; + right: 0px; + top: 7px; + color: #999 +} + +.sidebar-tag-item .tag-toggle-item:hover, +.sidebar-tag-item .tag-toggle-item:active, +.sidebar-tag-item .tag-toggle-item:focus { + text-decoration: none +} + +.sidebar-tag-item .tag-toggle-item:hover { + cursor: pointer +} + +.sidebar-tag-item .tag-toggle-item[data-state="false"] { + opacity: .1 +} + +.sidebar-tag-item .tag-toggle-item[data-state="true"] { + color: #ffe698 +} + +.sidebar-tag-item:hover>.tag-toggle-item[data-state="false"] { + opacity: 1 +} + +.posts-counter { + width: 100%; + padding: 5px; + border-top: 1px solid rgba(0, 0, 0, 0.1); + text-align: center; + margin-top: 20px +} + +ul>li>a.dropdown-type-user { + color: green +} + +ul>li>a.dropdown-type-group { + color: red +} + +.forum-tag.cursus-tag { + border: 1px solid #00babc; + background: transparent; + color: #00babc +} + +.topic-title { + padding: 0 15px +} + +.topic-title .topic-actions, +.topic-title .topic-title-name { + display: inline-block +} + +@media (max-width: 480px) { + + .topic-title .topic-actions, + .topic-title .topic-title-name { + display: block; + font-size: 16px + } + + .topic-title .topic-actions+.tags-list, + .topic-title .topic-title-name+.tags-list { + display: block; + margin-top: 7px + } +} + +.topic-main-title small a { + color: #35353b +} + +.topic-main-title small a:hover, +.topic-main-title small a:active, +.topic-main-title small a:focus { + text-decoration: none +} + +.topic-main-title .simple-link { + padding: 3px 8px; + border-radius: 3px +} + +.topic-main-title .simple-link span[class^="icon-"] { + position: relative; + top: 1px +} + +.topic-main-title .simple-link+.simple-link { + margin-left: 5px +} + +.topic-main-title .simple-link:hover { + background-color: rgba(0, 0, 0, 0.025); + color: #2c2c34 +} + +.topics-resume { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.topics-resume .topics-resume-counters { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + padding: 0 50px; + margin-bottom: 23px +} + +@media (max-width: 480px) { + .topics-resume .topics-resume-counters { + margin-bottom: 0px + } +} + +@media (max-width: 1599px) { + .topics-resume .topics-resume-counters { + padding: 0 0px + } +} + +.topics-resume .topics-resume-counters .counter-item { + width: 33%; + text-align: center +} + +.topics-resume .topics-resume-counters .counter-item:not(:last-of-type) { + border-right: 1px solid #f7f7f7 +} + +@media (max-width: 480px) { + .topics-resume .topics-resume-counters .counter-item:not(:last-of-type) { + border-right: none + } +} + +.topics-resume .topics-resume-counters .counter-item .counter-item-value { + font-size: 4em; + color: #00babc +} + +@media (max-width: 768px) { + .topics-resume .topics-resume-counters .counter-item .counter-item-value { + font-size: 3em + } +} + +@media (max-width: 480px) { + .topics-resume .topics-resume-counters .counter-item .counter-item-value { + font-size: 2em + } +} + +@media (max-width: 991px) { + .topics-resume .topics-resume-counters .counter-item .counter-item-title { + font-size: 0px + } + + .topics-resume .topics-resume-counters .counter-item .counter-item-title .prima { + font-size: 30px; + text-align: center + } +} + +@media (max-width: 991px) and (max-width: 768px) { + .topics-resume .topics-resume-counters .counter-item .counter-item-title .prima { + font-size: 20px + } +} + +@media (max-width: 480px) { + .topics-resume .topics-resume-counters { + padding: 0 5px + } +} + +.messages-list { + margin-bottom: 70px +} + +.topic-item-lighteable { + opacity: 0.5; + -o-transition: opacity 0.1s; + transition: opacity 0.1s +} + +@media (max-width: 767px) { + .topic-item-lighteable { + opacity: 1 + } +} + +.topic-item:hover .topic-item-lighteable { + opacity: 1 +} + +.topic-item-hoverable { + opacity: 0 +} + +@media (max-width: 767px) { + .topic-item-hoverable { + opacity: 1 + } +} + +.topic-item:hover .topic-item-hoverable { + opacity: 1 +} + +.topic-item { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + margin: 10px 0; + padding: 0 15px +} + +.topic-item:hover, +.topic-item:active, +.topic-item:focus { + text-decoration: none +} + +.topic-item .topic-unread-status { + min-width: 15px; + display: inline-block; + color: #67676d; + text-align: right +} + +.topic-item .topic-unread-status:before { + content: ""; + height: 5px; + width: 5px; + border-radius: 5px; + display: inline-block; + -o-transition: background-color 0.1s ease-in-out; + transition: background-color 0.1s ease-in-out +} + +.topic-item .topic-unread-count { + opacity: 0 +} + +.topic-item:not(.topic-unread) .topic-name { + color: #aaa +} + +.topic-item:not(.topic-unread) .topic-unread-count { + display: none +} + +.topic-item.topic-unread .topic-unread-status:before { + background-color: rgba(0, 186, 188, 0.7) +} + +.topic-item.topic-unread .topic-content .topic-name { + color: #35353b +} + +.topic-item.topic-unread .topic-content .topic-name span[class^="icon"] { + color: #67676d +} + +.topic-item.topic-unread .topic-content .topic-metadata { + color: #67676d +} + +.topic-item .topic-author { + height: 40px; + width: 40px; + margin-right: 20px +} + +@media (max-width: 480px) { + .topic-item .topic-author { + height: 30px; + width: 30px; + margin-right: 10px + } +} + +.topic-item .topic-content { + flex: 1 +} + +.topic-item .topic-content .topic-top { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + margin-right: 20px +} + +.topic-item .topic-content .topic-top .tags-list { + margin-left: 5px; + flex-shrink: 0; + -ms-flex-negative: 0 +} + +.topic-item .topic-content .topic-name { + margin: 4px 0; + font-weight: 500 +} + +.topic-item .topic-content .topic-metadata { + color: rgba(103, 103, 109, 0.5) +} + +.topic-item .topic-content .topic-metadata .topic-unread-count { + margin-left: 10px +} + +.topic-item:hover { + opacity: 1 +} + +.topic-item:hover .topic-content .topic-name { + color: #006e70 +} + +@media (max-width: 480px) { + .topic-item .topic-content .topic-top { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: start; + -ms-align-items: flex-start; + -o-align-items: flex-start; + align-items: flex-start; + -ms-flex-align: start; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start + } + + .topic-item .topic-content .topic-top h4 { + font-size: 14px + } + + .topic-item .topic-content .topic-top .tags-list { + margin-left: 0px + } + + .topic-item .topic-content .topic-metadata { + font-size: 12px + } +} + +.resume-hoverable { + opacity: 0 +} + +@media (max-width: 767px) { + .resume-hoverable { + opacity: 1 + } +} + +.resume:hover .resume-hoverable { + opacity: 1 +} + +.resume-lighteable { + opacity: 0.5; + -o-transition: opacity 0.1s; + transition: opacity 0.1s +} + +@media (max-width: 767px) { + .resume-lighteable { + opacity: 1 + } +} + +.resume:hover .resume-lighteable { + opacity: 1 +} + +.resume { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + border: 1px solid #f7f7f7; + background: #f2f2f2; + padding: 10px; + margin: 20px +} + +@media (max-width: 480px) { + .resume { + margin: 10px 0 + } +} + +.resume .resume-title, +.resume .resume-last-post, +.resume .resume-word-count-estimation, +.resume .resume-time-of-reading, +.resume .resume-created-at { + display: inline-block +} + +.resume .box { + display: block +} + +.resume .message-reply-box { + float: right +} + +.resume-contributor { + display: inline-block; + position: relative; + margin-top: 5px; + margin-right: 3px +} + +.resume-contributor .resume-contributor-count { + font-size: 0.8em; + padding: 1px 4px; + color: white; + position: absolute; + text-align: center; + line-height: 15px; + height: 15px; + min-width: 15px; + border-radius: 8px; + top: 0; + right: 0 +} + +.resume-bottom.box, +.user-profile-stats, +.sidebar-right-resume { + padding: 10px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + font-size: 1.4em +} + +.resume-bottom.box .resume-post, +.resume-bottom.box .resume-views, +.resume-bottom.box .resume-users, +.resume-bottom.box .resume-likes, +.resume-bottom.box .resume-troll, +.resume-bottom.box .resume-links, +.resume-bottom.box .resume-favorites, +.resume-bottom.box .resume-contributor, +.user-profile-stats .resume-post, +.user-profile-stats .resume-views, +.user-profile-stats .resume-users, +.user-profile-stats .resume-likes, +.user-profile-stats .resume-troll, +.user-profile-stats .resume-links, +.user-profile-stats .resume-favorites, +.user-profile-stats .resume-contributor, +.sidebar-right-resume .resume-post, +.sidebar-right-resume .resume-views, +.sidebar-right-resume .resume-users, +.sidebar-right-resume .resume-likes, +.sidebar-right-resume .resume-troll, +.sidebar-right-resume .resume-links, +.sidebar-right-resume .resume-favorites, +.sidebar-right-resume .resume-contributor { + width: 100%; + text-align: center; + display: inline-block +} + +.resume-bottom.box .summary-likes-box, +.user-profile-stats .summary-likes-box, +.sidebar-right-resume .summary-likes-box { + width: 100%; + text-align: center; + padding: 1px 5px; + margin: 0px 2px; + border-radius: 2px; + background-color: rgba(0, 0, 0, 0.1); + display: inline-block +} + +.resume-bottom.box .summary-likes-box>span, +.user-profile-stats .summary-likes-box>span, +.sidebar-right-resume .summary-likes-box>span { + margin: auto 3px +} + +.topic-btn { + height: 37px +} + +.hidden-resume .sidebar-right-resume { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: distribute; + -ms-justify-content: space-around; + -o-justify-content: space-around; + justify-content: space-around; + -ms-flex-pack: distribute +} + +.message-report-actions { + opacity: 0; + text-align: right; + margin: 3px +} + +.message-report-actions>span, +.message-report-actions>div { + display: inline-block; + text-align: right; + font-size: .9em; + border-radius: 3px +} + +.message-report-actions .reply-link { + background-color: #00babc +} + +.message-report-actions .label.label-primary>a { + color: #fff +} + +.votes-actions { + position: absolute; + top: 0px; + width: 40px; + color: #00babc +} + +.votes-actions .count { + position: absolute; + right: -9px; + top: 1px; + text-align: center; + width: 10px +} + +@media (max-width: 1600px) { + .votes-actions { + position: absolute; + top: 2px; + left: 0px + } +} + +.votes-actions .vote-up, +.votes-actions .vote-down, +.message-report-actions .vote-up, +.message-report-actions .vote-down { + font-size: 16px; + text-align: center; + position: relative +} + +.votes-actions .vote-up, +.message-report-actions .vote-up { + top: 5px +} + +.votes-actions .vote-down, +.message-report-actions .vote-down { + top: -3px +} + +.votes-actions .vote-arrow, +.message-report-actions .vote-arrow { + position: relative; + right: 4px; + background: inherit; + border: inherit +} + +.votes-actions .vote-arrow:not(:only-child), +.message-report-actions .vote-arrow:not(:only-child) { + margin-left: 14px +} + +.votes-actions .vote-troll, +.votes-actions .vote-problem, +.message-report-actions .vote-troll, +.message-report-actions .vote-problem { + position: relative; + right: 4px; + background: inherit; + border: inherit; + margin-left: 5px +} + +.votes-actions .vote-summary, +.message-report-actions .vote-summary { + border-radius: 50%; + border: 4px solid #00babc; + width: 30px; + text-align: center; + margin: auto; + height: 30px; + line-height: 24px +} + +.votes-actions a, +.votes-actions a:hover, +.message-report-actions a, +.message-report-actions a:hover { + text-decoration: none; + color: #00babc +} + +.votes-actions [data-state=true].vote-up, +.votes-actions [data-state=true].vote-up a, +.message-report-actions [data-state=true].vote-up, +.message-report-actions [data-state=true].vote-up a { + color: #5cb85c +} + +.votes-actions [data-state=true].vote-down, +.votes-actions [data-state=true].vote-down a, +.message-report-actions [data-state=true].vote-down, +.message-report-actions [data-state=true].vote-down a { + color: #D8636F +} + +.votes-actions [data-state=true].vote-troll, +.votes-actions [data-state=true].vote-troll a, +.message-report-actions [data-state=true].vote-troll, +.message-report-actions [data-state=true].vote-troll a { + color: #E6B291 +} + +.votes-actions [data-state=true].vote-problem, +.votes-actions [data-state=true].vote-problem a, +.message-report-actions [data-state=true].vote-problem, +.message-report-actions [data-state=true].vote-problem a { + color: #D8636F +} + +.message-item:hover .message-report-actions, +.message-item.active .message-report-actions { + opacity: 1 +} + +.topic-container { + position: relative +} + +.topic-container.container-item { + margin-bottom: 0px +} + +@media (max-width: 480px) { + .topic-container.container-item { + margin-bottom: 40px + } +} + +.topic-container .star-flag { + color: rgba(255, 255, 255, 0.8); + position: absolute; + right: 10px; + top: 0; + border: none; + padding-top: 10px; + height: 45px; + text-align: center; + border-radius: 0px; + width: 40px; + background-image: url(/images/star_bg.png); + background-size: 60% 100%; + background-position: 50%; + background-repeat: no-repeat +} + +.topic-container .star-flag:hover, +.topic-container .star-flag:active, +.topic-container .star-flag:focus { + text-decoration: none +} + +.topic-container .star-flag:hover { + color: #fff +} + +.topic-container .star-flag[data-state="true"] { + color: #ffe698 +} + +.message_content textarea.reply-form, +.message-reply textarea.reply-form { + display: block; + resize: none; + border: 2px solid #e5e5e5; + border-radius: 3px; + width: 100%; + padding: 5px 70px 5px 5px; + max-height: 500px; + min-height: 35px; + font-family: BlinkMacSystemFont, Arial, Sans-serif; + font-size: 1em; + line-height: 1em +} + +.message_content textarea.reply-form:focus, +.message-reply textarea.reply-form:focus { + outline: none; + border: 2px solid #ccc +} + +.message_content textarea.reply-form:disabled, +.message_content textarea.reply-form[disabled="disabled"], +.message-reply textarea.reply-form:disabled, +.message-reply textarea.reply-form[disabled="disabled"] { + background: #eee +} + +.message-reply-container { + margin-bottom: 15px; + padding: 0 25px 0 15px +} + +.js-topic-fixed-reply .form-group, +.topic-reply .form-group { + margin-right: 5px; + margin-left: 5px +} + +.js-topic-fixed-reply .form-control, +.topic-reply .form-control { + resize: none; + background-color: #f7f7f7; + border: none; + border-radius: 0px +} + +.topic-reply { + position: relative +} + +.topic-reply button.close { + display: none +} + +.topic-reply form#new_message { + position: relative; + margin: 0 20px +} + +.topic-reply.js-topic-fixed-reply { + position: fixed; + left: 0px; + margin-top: 0; + bottom: 0px; + z-index: 30; + padding: 0px 0 20px 0; + margin: 0 10px +} + +.topic-reply.js-topic-fixed-reply button.close { + margin-right: 10px; + margin-top: -10px; + display: inline-block +} + +.topic-reply.js-topic-fixed-reply.js-topic-hidden-reply { + bottom: -300px +} + +.topic-reply.js-topic-fixed-reply.js-topic-hidden-reply+.messages-bottom { + margin-top: 40px +} + +.topic-reply.js-topic-fixed-reply+.messages-bottom { + margin-top: 120px +} + +.topic-reply.js-topic-fixed-reply .close-mobile { + display: none +} + +@media (max-width: 768px) { + .topic-reply.js-topic-fixed-reply { + background-color: transparent + } +} + +@media (max-width: 480px) { + .topic-reply.js-topic-fixed-reply { + border: none; + margin: 0; + padding: 0; + left: 0px; + right: 0px; + width: auto + } + + .topic-reply.js-topic-fixed-reply form#new_message { + padding: 0px 0px; + margin: 0px 0px + } + + .topic-reply.js-topic-fixed-reply .close-mobile { + display: block; + border-radius: 0px; + border: none; + margin: 0 + } + + .topic-reply.js-topic-fixed-reply.js-topic-hidden-reply+.messages-bottom { + position: fixed; + bottom: 0px; + left: 0px; + right: 0px; + display: block + } + + .topic-reply.js-topic-fixed-reply+.messages-bottom { + display: none + } +} + +#topic-reply-content:focus+.js-topic--submit-button { + border: 2px solid #ccc +} + +#topic-reply-content:focus+.js-topic--submit-button:hover { + border: 2px solid #00babc +} + +.js-topic--submit-button { + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + width: 70px; + border: 2px solid #e5e5e5; + background: #FFF; + color: #999; + font-size: 1.3em; + border-radius: 0 2px 2px 0 +} + +.js-topic--submit-button:hover { + background-color: #00babc; + color: #fff; + border: 2px solid #00babc +} + +.js-topic--submit-button:disabled:before, +.js-topic--submit-button[disabled="disabled"]:before { + content: "\e29b" +} + +.js-topic--submit-button:before { + font-family: streamline-filled; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: "" +} + +.sidebar-right-sort .btn-group>.btn.btn-grey { + padding: 5px 5px; + font-size: 13px +} + +.sidebar-right-infos, +.sidebar-right-links, +.sidebar-right-resume, +.sidebar-right-users { + margin-bottom: 20px +} + +.sidebar-right-resume { + flex-wrap: wrap; + border-top: 1px solid rgba(0, 0, 0, 0.1); + padding-top: 30px +} + +.sidebar-right-resume>[class^="resume-"], +.sidebar-right-resume>[class^="summary-"] { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + flex: 1 0 60px; + margin: 10px; + text-align: center +} + +.sidebar-right-resume>[class^="summary-"] { + background-color: #f2f2f2; + padding-top: 5px; + padding-bottom: 5px; + padding-left: 0px; + padding-right: 0px +} + +.sidebar-right-resume>[class^="resume-"]>span { + margin-right: 5px +} + +.sidebar-right-reply { + margin-top: 40px +} + +.sidebar-right-helpers { + font-size: .9em +} + +.sidebar-right-helpers b, +.search-main-container b { + color: #00babc +} + +.sidebar-right-helpers h4, +.search-main-container h4 { + margin: 5px 0; + color: #00babc +} + +.search-main-container .btn-default { + border-color: #e6e6e6 +} + +.search-main-container .search-helpers-panel { + margin-top: 15px; + border-color: #f2f2f2; + padding: 10px; + border-radius: 3px +} + +.search-main-container .search-no-results { + display: block; + text-align: center; + font-weight: 400; + font-size: 2em; + margin: 20px 0 +} + +.diffed-content .marked-title { + text-align: center +} + +.diffed-content .version-block { + display: block +} + +.diffed-content .version-block:not(:last-of-type) { + border-bottom: 1px solid #f7f7f7; + padding-bottom: 10px; + margin-bottom: 10px +} + +.diffed-content .version-block:nth-child(odd) { + background-color: rgba(247, 247, 247, 0) +} + +.diffed-content .version-item { + padding: 10px; + font-family: "source-code-pro"; + background-color: rgba(53, 53, 59, 0.05); + margin: 10px; + border-radius: 2px; + border: 1px solid #f7f7f7 +} + +.diffed-content del { + text-decoration: none; + background-color: rgba(255, 0, 0, 0.4) +} + +.diffed-content ins { + text-decoration: none; + background-color: rgba(0, 128, 0, 0.4) +} + +.marged-bottom { + margin-bottom: 20px +} + +@media (max-width: 992px) { + .marged-bottom { + margin-bottom: 100px + } +} + +.infinite-loader { + color: #67676d; + font-weight: 500 +} + +.topic-item { + position: relative; + padding-top: 15px; + padding-bottom: 15px; + padding-left: 10px; + padding-right: 10px; + border-bottom: 1px solid #F3F3F3; + margin-top: 0px; + margin-bottom: 0px +} + +@media (max-width: 1599px) { + .topic-item { + padding-top: 15px; + padding-bottom: 15px + } +} + +@media (max-width: 480px) { + .topic-item { + padding-left: 10px; + padding-right: 10px + } +} + +.topic-item, +.topic-item .unread, +.topic-item .read { + transition: all .3s +} + +.topic-item .topic-status { + position: absolute; + right: 10px; + top: 10px +} + +.topic-item .topic-status.issue-status { + position: relative; + top: 0; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center +} + +.topic-item .topic-status.issue-status .issue-state { + padding: 0 3px +} + +.topic-item .topic-status.issue-status .issue-state span[class^="icon-"] { + margin-right: 3px +} + +.topic-item .topic-status .unread { + color: #E6B291; + opacity: .7 +} + +.topic-item .topic-status .simple-link { + margin-right: 5px; + top: -2px; + position: relative +} + +.topic-item .topic-status a:hover, +.topic-item .topic-status a:active, +.topic-item .topic-status a:focus { + text-decoration: none +} + +.topic-item:last-child { + border-bottom: none +} + +.topic-item:hover { + background-color: rgba(53, 53, 59, 0.05) +} + +.topic-item:hover .unread { + opacity: 1 +} + +.topic-item:hover .read { + color: #5cb85c +} + +.topic-item.topic-unread:hover .topic-unread-count { + opacity: 1 +} + +.topic-item .topic-right-metadata { + display: inline-block; + float: right +} + +.topics-list:not(.home-list) .topic-item.topic-pinned+.topic-item:not(.topic-pinned) { + border-top: 2px solid #f7f7f7 +} + +.sidebar-link { + color: #4E5566; + padding: 3px 0; + font-size: 1.1em; + display: block +} + +.sidebar-link:hover, +.sidebar-link:active, +.sidebar-link:focus { + text-decoration: none +} + +[data-topic-chart] { + position: absolute; + right: 200px; + top: 10px +} + +.overflowable-item .topic-item .topic-content .topic-name { + font-size: 14px +} + +.overflowable-item .topic-item .topic-metadata { + font-size: 12px +} + +@media (max-width: 1900px) { + .resume { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify + } +} + +[data-translation-missing] { + color: rgba(0, 0, 0, 0.2) +} + +[data-translation-missing]:before { + font-family: streamline-filled; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: "" +} + +[data-translation-missing]:hover { + color: rgba(0, 0, 0, 0.5) +} + +.notification-item { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + padding: 0px 10px; + margin: 0px 0px +} + +.notification-item .notification-image { + box-flex: 0; + -ms-flex: 0 0 200px; + flex: 0 0 200px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + font-size: 3em; + color: #E6B291 +} + +@media (max-width: 480px) { + .notification-item .notification-image { + box-flex: 0; + -ms-flex: 0 0 100px; + flex: 0 0 100px + } +} + +.notification-item .notification-content { + flex-grow: 1; + -ms-flex-positive: 1; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.notification-item .notification-content .notification-title { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.notification-item .notification-content .notification-title .title { + font-size: 1em; + font-weight: bold; + text-transform: uppercase; + color: #00babc +} + +.notification-item .notification-content .notification-title .info { + color: #67676d; + font-weight: 400 +} + +.notification-item .notification-content .notification-text { + margin-top: 0px +} + +.notification-item .notification-content .notification-text p { + margin: 5px 0 +} + +.notification-item+.notification-item { + margin-top: 10px +} + +.notification-list { + border-bottom: 2px solid #00babc; + padding: 25px; + background-color: #ffffff +} + +.notification-list .special-width .col-md-1 { + width: 3.333333% +} + +.notification-list .special-width .col-md-11 { + width: 96.666667% +} + +.modal-centered { + top: 25% +} + +@media (max-width: 480px) { + .modal-centered { + top: 0% + } +} + +.label { + cursor: default; + background-color: #5b5b60; + padding: .4em .4em .4em; + border-radius: 3px; + font-size: 70% +} + +.help-block.text-danger { + color: #D8636F +} + +.forum-tag { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: white; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em +} + +@media (max-width: 480px) { + .forum-tag { + font-size: 50% + } +} + +.project-dropdown .dropdown-menu>li>a { + color: inherit +} + +.projects-notifications:not(:empty), +.project-notifications:not(:empty) { + border: 5px solid transparent +} + +.projects-notifications:not(:empty):before, +.project-notifications:not(:empty):before { + content: "Incoming project events"; + color: rgba(32, 32, 38, 0.6); + font-weight: 400; + margin-bottom: 8px; + padding: 0px 15px; + display: block; + text-transform: uppercase; + background-color: transparent; + font-size: .9em; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif" +} + +.projects-notifications:not(:empty) .project-item, +.project-notifications:not(:empty) .project-item { + padding: 5px 15px; + margin: 5px 0px +} + +.project-notifications:not(:empty) { + background-color: rgba(0, 0, 0, 0.025); + border: none; + padding: 5px 0 +} + +.project-notifications:not(:empty):before { + background: none +} + +.reminder { + padding: 0px 0px; + clear: both; + position: relative; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.reminder+.reminder, +.reminder.event+.event { + border-top: none +} + +.reminder .project-item-text { + padding: 5px +} + +.reminder .project-item-actions { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: reverse; + flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + box-pack: end; + -ms-justify-content: flex-end; + -o-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end +} + +.reminder.event:hover, +.reminder.event:active, +.reminder.event:focus { + text-decoration: none +} + +.reminder .time { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + padding: 5px 10px +} + +.reminder .time span { + margin-right: 3px +} + +.reminder a:hover, +.reminder a:active, +.reminder a:focus { + text-decoration: none +} + +.reminder .project-item-actions a { + font-size: .9; + padding: 5px; + -o-transition: all 0.3s; + transition: all 0.3s; + background-color: none +} + +.reminder .project-item-actions a:hover, +.reminder .project-item-actions a:active, +.reminder .project-item-actions a:focus { + text-decoration: none +} + +.reminder .project-item-actions a.missing-user { + padding: 5px; + color: #D8636F; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.reminder .project-item-actions a.missing-user:hover { + -o-transition: all 0.3s; + transition: all 0.3s +} + +.reminder .project-item-actions a [data-checkin-present='false'] { + color: #D8636F +} + +.reminder .project-item-actions a [data-checkin-present='true'] { + color: #5cb85c +} + +.project-item[data-project-occurence] { + margin-top: 0px; + margin-bottom: 0px; + border-left: 1px solid rgba(0, 0, 0, 0.1); + margin-left: 10px; + opacity: .5 +} + +.project-item[data-project-occurence] .marked-title a { + color: #35353b +} + +.project-item[data-project-occurence]:hover { + opacity: 1 +} + +.project-item[data-project-occurence] .pull-right { + font-size: .9em +} + +.project-item.parent { + border-left: none; + background-color: rgba(0, 0, 0, 0.05) +} + +.project-item.parent-item { + content: attr(data-parent-name); + display: block; + width: 100%; + border-left: none; + margin-bottom: 0px; + border-bottom: 1px solid rgba(0, 0, 0, 0.05) +} + +.main-project-item { + font-size: 1.1em +} + +.main-project-item .pull-right { + font-weight: bold +} + +project-item-lighteable { + opacity: 0.5; + -o-transition: opacity 0.1s; + transition: opacity 0.1s +} + +@media (max-width: 767px) { + project-item-lighteable { + opacity: 1 + } +} + +project-item:hover project-item-lighteable { + opacity: 1 +} + +.projects-table .project-succeed:after, +.projects-table .project-failed:after { + font-size: .9em +} + +.projects-table .project-succeed:after { + content: " (succeeded)" +} + +.projects-table .project-failed:after { + content: " (failed)" +} + +.project-status-icon { + color: #666e80 +} + +.project-status-icon:hover, +.project-status-icon:active, +.project-status-icon:focus { + text-decoration: none +} + +.projects-table .table tr.light-item { + opacity: .75 +} + +.projects-table .table tr>td.text-danger>a, +.projects-table .table tr>td.text-success>a { + color: inherit +} + +.project-list-item.project-item { + padding: 5px 0px +} + +.project-list-item.project-item:not(:first-child) { + border-top: 1px solid #e5e5e5 +} + +.project-opts { + clear: both; + margin-top: 50px +} + +.scale-team-user-box { + padding: 10px; + margin: 10px; + text-align: center +} + +.scale-team-user-box h3 { + padding: 15px; + border-radius: 3px +} + +.scale-team-user-box h3[data-user-checkin="true"] { + border: 1px solid #5cb85c +} + +.scale-team-user-box h3[data-user-checkin="true"]:after { + color: #5cb85c; + content: "You checked in" +} + +.scale-team-user-box h3[data-user-checkin="false"] { + border: 1px solid #5bc0de +} + +.scale-team-user-box h3[data-user-checkin="false"]:after { + color: #5bc0de; + content: "You can checkin" +} + +.scale-team-user-item { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + margin: 10px +} + +.scale-team-user-item .scale-team-user-item-status { + font-size: 1.2em; + margin-left: 10px +} + +.scale-team-user-item .scale-team-user-item-status[data-checkin-present="true"] { + color: #5cb85c +} + +.scale-team-user-item .scale-team-user-item-status[data-checkin-present="true"]:after { + content: " is here and ready !" +} + +.scale-team-user-item .scale-team-user-item-status[data-checkin-present="false"] { + color: #D8636F +} + +.scale-team-user-item .scale-team-user-item-status[data-checkin-present="false"]:after { + content: " didnt check in yet" +} + +@media (max-width: 480px) { + .row { + padding-left: 0px; + padding-right: 0px; + margin-left: 0px; + margin-right: 0px + } + + body { + background-image: none; + background: whitesmoke + } + + .main-title.primary { + border-bottom: none + } + + .on-grey { + background-color: whitesmoke + } + + .user-inline-stat { + font-size: .9em + } + + .mobile-widget-item { + background-color: #fff; + margin: 10px 0px; + padding: 5px + } + + .mobile-widget-item+.mobile-widget-item { + margin-top: 10px; + margin-left: 0px; + margin-right: 0px + } +} + +@media (max-width: 992px) { + .main-title.primary { + margin: 15px 0 0 + } + + .block-on-mobile { + margin-top: 10px; + float: none !important; + text-align: center; + display: block; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify + } + + .block-on-mobile>.btn { + flex-grow: 1; + -ms-flex-positive: 1 + } +} + +.user-grid { + margin-top: 15px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + box-lines: multiple; + -ms-flex-wrap: wrap; + flex-wrap: wrap +} + +.user-grid .user-item { + max-width: 140px; + box-flex: 0; + -ms-flex: 0 0 140px; + flex: 0 0 140px; + margin: 5px; + min-height: 190px; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: end; + -ms-justify-content: flex-end; + -o-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end +} + +.user-grid .user-item.user-user-item { + background-size: 100% auto; + background-repeat: no-repeat; + background-position: 50% -20px; + border: 1px solid #67676d +} + +.user-grid .user-item .user-item-title { + text-align: center; + display: block; + background: white; + padding: 5px; + margin: 0 +} + +.user-grid .user-item .user-item-footer { + background: white +} + +.user-grid .user-item .user-item-footer .btn-group { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center +} + +.user-grid .user-item .user-item-footer .btn-group .btn { + box-flex: 1; + -ms-flex: 1 0; + flex: 1 0; + margin: 0; + border: none; + border-radius: 0 +} + +.user-grid .user-item .user-item-footer .friend-location { + text-align: center; + font-size: 1.2em +} + +.user-grid .user-item .user-item-footer .friend-location.no-location { + color: #67676d +} + +.user-grid .user-item .user-item-footer .friend-location .icon-location { + color: #67676d; + margin-right: 2px +} + +.coalition-flag2 { + position: relative; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + width: 100px; + height: 152px +} + +.coalition-flag2 .coalition-flag2--flag { + position: absolute; + top: 0; + z-index: 1; + width: 100px +} + +.coalition-flag2 .coalition-flag2--icon { + width: 80px; + height: auto; + position: absolute; + top: 40px; + left: 10px; + z-index: 2; + fill: #fff +} + +.coalition-flag { + position: relative; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + width: 100px; + height: 152px +} + +.coalition-flag .coalition-flag--flag { + position: absolute; + top: 0; + z-index: 1; + width: 100px +} + +.coalition-flag .coalition-flag--icon { + width: 80px; + height: auto; + position: absolute; + top: 40px; + left: 10px; + z-index: 2; + fill: #fff +} + +.coalition-flag-mini { + position: relative; + display: flex; + width: 40px; + height: 60px +} + +.coalition-flag-mini .coalition-flag--flag { + position: absolute; + top: 0; + z-index: 1; + width: 40px +} + +.coalition-flag-mini .coalition-flag--icon { + width: 32px; + height: auto; + position: absolute; + top: 16px; + left: 4px; + z-index: 2; + fill: #fff +} + +.CodeMirror-lines { + font-family: BlinkMacSystemFont, Arial, sans-serif +} + +.mailer_simple_to label.control-label, +.mailer-extras label.control-label { + margin-top: 8px +} + +#mailer-errors { + padding: 15px 0 0; + display: none +} + +#btn-send-mail { + display: block; + margin: 20px auto +} + +.extras p#modal_extras_link { + padding: 8px; + background: #ffffff; + border-radius: 3px; + margin: 5px 0; + border: 1px solid #aaa; + cursor: pointer +} + +.extras p#modal_extras_link.error { + border-color: #D8636F; + color: #D8636F +} + +.extras span.icons { + float: right; + cursor: pointer; + padding: 8px 10px; + position: relative; + top: -8px; + right: -5px +} + +.mail-send th { + text-align: center +} + +.mailer-preview { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace +} + +.mailer-preview input { + box-shadow: none +} + +.mailer-preview input:focus { + border-color: #00babc; + box-shadow: none +} + +.mailer-preview input#mailer_title { + font-size: 24px; + color: #777; + text-align: center +} + +.mailer-preview input#mailer_subtitle { + font-size: 18px; + color: #999; + text-align: center +} + +.mailer-preview .select2-container { + width: 100% !important +} + +.mailer-preview .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #00babc; + border-color: #00babc; + color: #fff; + padding: 4px 10px +} + +.mailer-preview .select2-container--default .select2-selection--multiple .select2-selection__choice span { + color: #fff; + padding-right: 7px +} + +.mailer-preview .select2-container--default .select2-search--inline .select2-search__field { + padding: 5px +} + +.mailer-preview .select2-container--default.select2-container--focus .select2-selection--multiple { + border-color: #00babc +} + +.mailer-preview .select2-results__option--highlighted { + background: #00babc +} + +.mailer-preview .CodeMirror-fullscreen, +.mailer-preview .editor-toolbar.fullscreen, +.mailer-preview .CodeMirror-fullscreen~.editor-preview-side { + z-index: 1000 +} + +.mailer-preview .main-preview { + box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.2) +} + +.mailer-preview .main-preview header, +.mailer-preview .main-preview section, +.mailer-preview .main-preview footer { + width: 90%; + margin: auto +} + +.mailer-preview .main-preview header { + text-align: center +} + +.mailer-preview .main-preview header img { + height: 100px; + width: auto +} + +.mailer-preview .main-preview header h2 { + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + font-size: 28px; + font-weight: normal; + color: #777; + text-align: center; + padding: 30px 0px 10px +} + +.mailer-preview .main-preview header h2:empty:after { + content: "Mail title"; + opacity: .6 +} + +.mailer-preview .main-preview header h4 { + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + font-size: 18px; + font-weight: normal; + color: #999; + text-align: center; + padding: 0px 0px 50px +} + +.mailer-preview .main-preview header h4:empty:after { + content: "Mail subtitle"; + opacity: .6 +} + +.mailer-preview .main-preview .CodeMirror { + text-align: left +} + +.mailer-preview .main-preview section { + text-align: center; + padding: 30px 0 +} + +.mailer-preview .main-preview section p { + text-align: justify; + font-family: "Futura PT", "Futura", "Helvetica", "Sans serif"; + font-size: 14px; + color: #333 +} + +.mailer-preview .main-preview section p:empty:after { + content: "Mail content"; + opacity: .6 +} + +.mailer-preview .main-preview footer { + text-align: center; + font-size: 12px; + padding: 15px +} + +.mailer-preview .main-preview footer header { + text-transform: uppercase; + color: #777 +} + +.mailer-preview .main-preview footer header a { + color: #00babc +} + +.mailer-preview .main-preview footer aside { + padding-top: 10px +} + +.mailer-preview .main-preview footer aside a { + text-decoration: none !important; + color: #FFFFFF; + height: 24px; + width: auto +} + +.mailer-preview .main-preview footer aside a img { + text-decoration: none !important; + color: #FFFFFF; + height: 24px; + width: auto; + padding: 5px +} + +#flashModal, +.websocket-modal { + margin-top: 10% +} + +#flashModal .modal-dialog .modal-content, +.websocket-modal .modal-dialog .modal-content { + min-height: 200px +} + +#flashModal .modal-dialog .modal-content .modal-header, +.websocket-modal .modal-dialog .modal-content .modal-header { + color: #67676d; + border-bottom: none; + text-align: center +} + +#flashModal .modal-dialog .modal-content .modal-footer, +.websocket-modal .modal-dialog .modal-content .modal-footer { + border-top: none +} + +#flashModal .modal-dialog .modal-content .modal-body, +.websocket-modal .modal-dialog .modal-content .modal-body { + text-align: center; + word-wrap: break-word +} + +#flashModal .modal-dialog .modal-content .achievement-modal, +.websocket-modal .modal-dialog .modal-content .achievement-modal { + border: solid 2px #e5e5e5; + border-radius: 15px; + padding: 1%; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + align-content: flex-end; + -ms-flex-line-pack: end; + box-align: start; + -ms-align-items: flex-start; + -o-align-items: flex-start; + align-items: flex-start; + -ms-flex-align: start +} + +#flashModal .modal-dialog .modal-content .achievement-modal .achievement-modal--image, +.websocket-modal .modal-dialog .modal-content .achievement-modal .achievement-modal--image { + align-self: center; + margin: 2%; + width: 15%; + max-height: 500px +} + +#flashModal .modal-dialog .modal-content .achievement-modal .achievement-modal--content, +.websocket-modal .modal-dialog .modal-content .achievement-modal .achievement-modal--content { + padding-top: 2%; + padding-bottom: 2% +} + +#flashModal .modal-dialog .modal-content .achievement-modal .achievement-modal--content h3.achievement-modal--title, +.websocket-modal .modal-dialog .modal-content .achievement-modal .achievement-modal--content h3.achievement-modal--title { + margin: 0px; + margin-bottom: 10px; + text-align: left; + font-size: 24px; + color: #00babc +} + +#flashModal .modal-dialog .modal-content .achievement-modal .achievement-modal--content p.achievement-modal--desc, +.websocket-modal .modal-dialog .modal-content .achievement-modal .achievement-modal--content p.achievement-modal--desc { + margin: 0px; + text-align: left; + font-size: 18px +} + +#flashModal .modal-dialog .modal-content .dash-modal, +.websocket-modal .modal-dialog .modal-content .dash-modal { + border: solid 2px #e5e5e5; + border-radius: 15px; + padding: 1%; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + align-content: flex-end; + -ms-flex-line-pack: end; + box-align: start; + -ms-align-items: flex-start; + -o-align-items: flex-start; + align-items: flex-start; + -ms-flex-align: start +} + +#flashModal .modal-dialog .modal-content .dash-modal .dash-modal--image, +.websocket-modal .modal-dialog .modal-content .dash-modal .dash-modal--image { + align-self: center; + margin: 2%; + width: 15%; + max-height: 500px +} + +#flashModal .modal-dialog .modal-content .dash-modal .dash-modal--content, +.websocket-modal .modal-dialog .modal-content .dash-modal .dash-modal--content { + padding-top: 2%; + padding-bottom: 2% +} + +#flashModal .modal-dialog .modal-content .dash-modal .dash-modal--content h3.dash-modal--title, +.websocket-modal .modal-dialog .modal-content .dash-modal .dash-modal--content h3.dash-modal--title { + margin: 0px; + margin-bottom: 10px; + text-align: left; + font-size: 24px; + color: #00babc +} + +#flashModal .modal-dialog .modal-content .dash-modal .dash-modal--content p.dash-modal--desc, +.websocket-modal .modal-dialog .modal-content .dash-modal .dash-modal--content p.dash-modal--desc { + margin: 0px; + text-align: left; + font-size: 18px +} + +@media (max-width: 767px) { + #flashModal .modal-dialog .modal-content .achievement-modal .achievement-modal--content h3.achievement-modal--title { + font-size: 14px + } + + #flashModal .modal-dialog .modal-content .achievement-modal .achievement-modal--content p.achievement-modal--desc { + font-size: 10px + } +} + +#navbar-scale li>a { + color: #202026; + padding-left: 0px +} + +#navbar-scale li.active>a { + color: #00babc +} + +#navbar-scale li .unpadded { + padding: 5px 0 +} + +.scale-comment, +.scale-introduction, +.scale-disclaimer, +.scale-guidelines { + padding: 0 15px +} + +.scale-question-answers { + padding: 10px 20px; + margin: 0px; + background: rgba(255, 255, 255, 0.3) +} + +.scale-final-submit { + padding: 10px 0 20px +} + +.container-item:last-child { + margin-bottom: 20px; + padding-bottom: 20px +} + +.checkbox-input { + display: none +} + +.checkbox-input:checked+.checkbox-label.btn-success, +.checkbox-input:checked+.checkbox-label.btn-success:hover { + background-color: #5cb85c; + color: #fff +} + +.checkbox-input:checked+.checkbox-label.btn-danger, +.checkbox-input:checked+.checkbox-label.btn-danger:hover { + background-color: #D8636F; + color: #fff +} + +.markdown-preview-container:not(:empty) { + padding: 6px 12px; + border: 1px solid rgba(0, 0, 0, 0.1); + border-top: none +} + +.markdown-preview-container:not(:empty):before { + content: "Markdown preview"; + text-transform: uppercase; + font-size: .7em; + color: #67676d +} + +.scales-sections-list, +.questions-list, +.question-skills-list { + counter-reset: section +} + +.question-item:before { + counter-increment: section; + content: "Question " counter(section); + color: rgba(0, 0, 0, 0.3) +} + +.skill-item:before { + counter-increment: section; + content: "Skill " counter(section); + color: rgba(0, 0, 0, 0.2) +} + +.section-counter-item:before { + counter-increment: section; + content: "SECTION " counter(section); + display: block; + text-align: center; + text-transform: capitalize; + font-size: 1.5em; + color: rgba(0, 0, 0, 0.2) +} + +.section-item { + padding: 15px; + margin-bottom: 15px; + background: rgba(0, 0, 0, 0.025); + position: relative; + border: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 2px; + box-shadow: 0px 1px 5px white +} + +.grid-section-item { + display: grid +} + +.modal-v2 .modal-header { + border-left: 9px solid; + border-image: linear-gradient(to top, #22c0c1, #38d27e) 1 100%; + background: #000; + color: #fff; + font-family: futura-bold; + text-transform: uppercase +} + +.modal-v2 .modal-header>* { + color: #fff +} + +.modal-v2 .modal-content { + font-size: 1.2em; + text-align: center +} + +.modal-v2 .modal-content table { + border: none +} + +.modal-v2 .modal-content table>tbody>tr>th { + white-space: nowrap; + text-align: right; + border: none; + color: #000; + vertical-align: middle +} + +.modal-v2 .modal-content td { + width: 100% +} + +.modal-v2 .modal-footer { + text-align: center +} + +.modal-v2 .modal-footer button { + text-transform: uppercase; + border: 0; + border-radius: 0 +} + +.align-baseline { + vertical-align: baseline !important +} + +.align-top { + vertical-align: top !important +} + +.align-middle { + vertical-align: middle !important +} + +.align-bottom { + vertical-align: bottom !important +} + +.align-text-bottom { + vertical-align: text-bottom !important +} + +.align-text-top { + vertical-align: text-top !important +} + +.bg-primary { + background-color: #00babc +} + +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #008889 +} + +.bg-secondary { + background-color: #C07307 +} + +a.bg-secondary:hover, +a.bg-secondary:focus { + background-color: #8f5605 +} + +.bg-success { + background-color: #5cb85c +} + +a.bg-success:hover, +a.bg-success:focus { + background-color: #449d44 +} + +.bg-info { + background-color: #5bc0de +} + +a.bg-info:hover, +a.bg-info:focus { + background-color: #31b0d5 +} + +.bg-warning { + background-color: #E6B291 +} + +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #dd9567 +} + +.bg-danger { + background-color: #D8636F +} + +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #ce3a49 +} + +.bg-light { + background-color: #f8f9fa +} + +a.bg-light:hover, +a.bg-light:focus { + background-color: #dae0e5 +} + +.bg-dark { + background-color: #343a40 +} + +a.bg-dark:hover, +a.bg-dark:focus { + background-color: #1d2124 +} + +.bg-white { + background-color: #fff !important +} + +.bg-transparent { + background-color: transparent !important +} + +.border { + border: 1px solid #e9ecef !important +} + +.border-0 { + border: 0 !important +} + +.border-top-0 { + border-top: 0 !important +} + +.border-right-0 { + border-right: 0 !important +} + +.border-bottom-0 { + border-bottom: 0 !important +} + +.border-left-0 { + border-left: 0 !important +} + +.border-primary { + border-color: #00babc !important +} + +.border-secondary { + border-color: #C07307 !important +} + +.border-success { + border-color: #5cb85c !important +} + +.border-info { + border-color: #5bc0de !important +} + +.border-warning { + border-color: #E6B291 !important +} + +.border-danger { + border-color: #D8636F !important +} + +.border-light { + border-color: #f8f9fa !important +} + +.border-dark { + border-color: #343a40 !important +} + +.border-white { + border-color: #fff !important +} + +.rounded-all { + border-radius: 3px !important +} + +.rounded-top { + border-top-left-radius: 3px !important; + border-top-right-radius: 3px !important +} + +.rounded-right { + border-top-right-radius: 3px !important; + border-bottom-right-radius: 3px !important +} + +.rounded-bottom { + border-bottom-right-radius: 3px !important; + border-bottom-left-radius: 3px !important +} + +.rounded-left { + border-top-left-radius: 3px !important; + border-bottom-left-radius: 3px !important +} + +.rounded-circle { + border-radius: 50% +} + +.rounded-0 { + border-radius: 0 +} + +.clearfix:before, +.clearfix:after { + content: " "; + display: table +} + +.clearfix:after { + clear: both +} + +.d-none { + display: none !important +} + +.d-inline { + display: inline !important +} + +.d-inline-block { + display: inline-block !important +} + +.d-block { + display: block !important +} + +.d-table { + display: table !important +} + +.d-table-cell { + display: table-cell !important +} + +.d-flex { + display: flex !important +} + +.d-inline-flex { + display: inline-flex !important +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important + } + + .d-sm-inline { + display: inline !important + } + + .d-sm-inline-block { + display: inline-block !important + } + + .d-sm-block { + display: block !important + } + + .d-sm-table { + display: table !important + } + + .d-sm-table-cell { + display: table-cell !important + } + + .d-sm-flex { + display: flex !important + } + + .d-sm-inline-flex { + display: inline-flex !important + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important + } + + .d-md-inline { + display: inline !important + } + + .d-md-inline-block { + display: inline-block !important + } + + .d-md-block { + display: block !important + } + + .d-md-table { + display: table !important + } + + .d-md-table-cell { + display: table-cell !important + } + + .d-md-flex { + display: flex !important + } + + .d-md-inline-flex { + display: inline-flex !important + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important + } + + .d-lg-inline { + display: inline !important + } + + .d-lg-inline-block { + display: inline-block !important + } + + .d-lg-block { + display: block !important + } + + .d-lg-table { + display: table !important + } + + .d-lg-table-cell { + display: table-cell !important + } + + .d-lg-flex { + display: flex !important + } + + .d-lg-inline-flex { + display: inline-flex !important + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important + } + + .d-xl-inline { + display: inline !important + } + + .d-xl-inline-block { + display: inline-block !important + } + + .d-xl-block { + display: block !important + } + + .d-xl-table { + display: table !important + } + + .d-xl-table-cell { + display: table-cell !important + } + + .d-xl-flex { + display: flex !important + } + + .d-xl-inline-flex { + display: inline-flex !important + } +} + +.d-print-block { + display: none !important +} + +@media print { + .d-print-block { + display: block !important + } +} + +.d-print-inline { + display: none !important +} + +@media print { + .d-print-inline { + display: inline !important + } +} + +.d-print-inline-block { + display: none !important +} + +@media print { + .d-print-inline-block { + display: inline-block !important + } +} + +@media print { + .d-print-none { + display: none !important + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden +} + +.embed-responsive::before { + display: block; + content: "" +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0 +} + +.embed-responsive-21by9::before { + padding-top: 42.8571428571% +} + +.embed-responsive-16by9::before { + padding-top: 56.25% +} + +.embed-responsive-4by3::before { + padding-top: 75% +} + +.embed-responsive-1by1::before { + padding-top: 100% +} + +.flex-row { + flex-direction: row !important +} + +.flex-column { + flex-direction: column !important +} + +.flex-row-reverse { + flex-direction: row-reverse !important +} + +.flex-column-reverse { + flex-direction: column-reverse !important +} + +.flex-wrap { + flex-wrap: wrap !important +} + +.flex-nowrap { + flex-wrap: nowrap !important +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important +} + +.justify-content-start { + justify-content: flex-start !important +} + +.justify-content-end { + justify-content: flex-end !important +} + +.justify-content-center { + justify-content: center !important +} + +.justify-content-between { + justify-content: space-between !important +} + +.justify-content-around { + justify-content: space-around !important +} + +.align-items-start { + align-items: flex-start !important +} + +.align-items-end { + align-items: flex-end !important +} + +.align-items-center { + align-items: center !important +} + +.align-items-baseline { + align-items: baseline !important +} + +.align-items-stretch { + align-items: stretch !important +} + +.align-content-start { + align-content: flex-start !important +} + +.align-content-end { + align-content: flex-end !important +} + +.align-content-center { + align-content: center !important +} + +.align-content-between { + align-content: space-between !important +} + +.align-content-around { + align-content: space-around !important +} + +.align-content-stretch { + align-content: stretch !important +} + +.align-self-auto { + align-self: auto !important +} + +.align-self-start { + align-self: flex-start !important +} + +.align-self-end { + align-self: flex-end !important +} + +.align-self-center { + align-self: center !important +} + +.align-self-baseline { + align-self: baseline !important +} + +.align-self-stretch { + align-self: stretch !important +} + +@media (min-width: 576px) { + .flex-sm-row { + flex-direction: row !important + } + + .flex-sm-column { + flex-direction: column !important + } + + .flex-sm-row-reverse { + flex-direction: row-reverse !important + } + + .flex-sm-column-reverse { + flex-direction: column-reverse !important + } + + .flex-sm-wrap { + flex-wrap: wrap !important + } + + .flex-sm-nowrap { + flex-wrap: nowrap !important + } + + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important + } + + .justify-content-sm-start { + justify-content: flex-start !important + } + + .justify-content-sm-end { + justify-content: flex-end !important + } + + .justify-content-sm-center { + justify-content: center !important + } + + .justify-content-sm-between { + justify-content: space-between !important + } + + .justify-content-sm-around { + justify-content: space-around !important + } + + .align-items-sm-start { + align-items: flex-start !important + } + + .align-items-sm-end { + align-items: flex-end !important + } + + .align-items-sm-center { + align-items: center !important + } + + .align-items-sm-baseline { + align-items: baseline !important + } + + .align-items-sm-stretch { + align-items: stretch !important + } + + .align-content-sm-start { + align-content: flex-start !important + } + + .align-content-sm-end { + align-content: flex-end !important + } + + .align-content-sm-center { + align-content: center !important + } + + .align-content-sm-between { + align-content: space-between !important + } + + .align-content-sm-around { + align-content: space-around !important + } + + .align-content-sm-stretch { + align-content: stretch !important + } + + .align-self-sm-auto { + align-self: auto !important + } + + .align-self-sm-start { + align-self: flex-start !important + } + + .align-self-sm-end { + align-self: flex-end !important + } + + .align-self-sm-center { + align-self: center !important + } + + .align-self-sm-baseline { + align-self: baseline !important + } + + .align-self-sm-stretch { + align-self: stretch !important + } +} + +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important + } + + .flex-md-column { + flex-direction: column !important + } + + .flex-md-row-reverse { + flex-direction: row-reverse !important + } + + .flex-md-column-reverse { + flex-direction: column-reverse !important + } + + .flex-md-wrap { + flex-wrap: wrap !important + } + + .flex-md-nowrap { + flex-wrap: nowrap !important + } + + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important + } + + .justify-content-md-start { + justify-content: flex-start !important + } + + .justify-content-md-end { + justify-content: flex-end !important + } + + .justify-content-md-center { + justify-content: center !important + } + + .justify-content-md-between { + justify-content: space-between !important + } + + .justify-content-md-around { + justify-content: space-around !important + } + + .align-items-md-start { + align-items: flex-start !important + } + + .align-items-md-end { + align-items: flex-end !important + } + + .align-items-md-center { + align-items: center !important + } + + .align-items-md-baseline { + align-items: baseline !important + } + + .align-items-md-stretch { + align-items: stretch !important + } + + .align-content-md-start { + align-content: flex-start !important + } + + .align-content-md-end { + align-content: flex-end !important + } + + .align-content-md-center { + align-content: center !important + } + + .align-content-md-between { + align-content: space-between !important + } + + .align-content-md-around { + align-content: space-around !important + } + + .align-content-md-stretch { + align-content: stretch !important + } + + .align-self-md-auto { + align-self: auto !important + } + + .align-self-md-start { + align-self: flex-start !important + } + + .align-self-md-end { + align-self: flex-end !important + } + + .align-self-md-center { + align-self: center !important + } + + .align-self-md-baseline { + align-self: baseline !important + } + + .align-self-md-stretch { + align-self: stretch !important + } +} + +@media (min-width: 992px) { + .flex-lg-row { + flex-direction: row !important + } + + .flex-lg-column { + flex-direction: column !important + } + + .flex-lg-row-reverse { + flex-direction: row-reverse !important + } + + .flex-lg-column-reverse { + flex-direction: column-reverse !important + } + + .flex-lg-wrap { + flex-wrap: wrap !important + } + + .flex-lg-nowrap { + flex-wrap: nowrap !important + } + + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important + } + + .justify-content-lg-start { + justify-content: flex-start !important + } + + .justify-content-lg-end { + justify-content: flex-end !important + } + + .justify-content-lg-center { + justify-content: center !important + } + + .justify-content-lg-between { + justify-content: space-between !important + } + + .justify-content-lg-around { + justify-content: space-around !important + } + + .align-items-lg-start { + align-items: flex-start !important + } + + .align-items-lg-end { + align-items: flex-end !important + } + + .align-items-lg-center { + align-items: center !important + } + + .align-items-lg-baseline { + align-items: baseline !important + } + + .align-items-lg-stretch { + align-items: stretch !important + } + + .align-content-lg-start { + align-content: flex-start !important + } + + .align-content-lg-end { + align-content: flex-end !important + } + + .align-content-lg-center { + align-content: center !important + } + + .align-content-lg-between { + align-content: space-between !important + } + + .align-content-lg-around { + align-content: space-around !important + } + + .align-content-lg-stretch { + align-content: stretch !important + } + + .align-self-lg-auto { + align-self: auto !important + } + + .align-self-lg-start { + align-self: flex-start !important + } + + .align-self-lg-end { + align-self: flex-end !important + } + + .align-self-lg-center { + align-self: center !important + } + + .align-self-lg-baseline { + align-self: baseline !important + } + + .align-self-lg-stretch { + align-self: stretch !important + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + flex-direction: row !important + } + + .flex-xl-column { + flex-direction: column !important + } + + .flex-xl-row-reverse { + flex-direction: row-reverse !important + } + + .flex-xl-column-reverse { + flex-direction: column-reverse !important + } + + .flex-xl-wrap { + flex-wrap: wrap !important + } + + .flex-xl-nowrap { + flex-wrap: nowrap !important + } + + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important + } + + .justify-content-xl-start { + justify-content: flex-start !important + } + + .justify-content-xl-end { + justify-content: flex-end !important + } + + .justify-content-xl-center { + justify-content: center !important + } + + .justify-content-xl-between { + justify-content: space-between !important + } + + .justify-content-xl-around { + justify-content: space-around !important + } + + .align-items-xl-start { + align-items: flex-start !important + } + + .align-items-xl-end { + align-items: flex-end !important + } + + .align-items-xl-center { + align-items: center !important + } + + .align-items-xl-baseline { + align-items: baseline !important + } + + .align-items-xl-stretch { + align-items: stretch !important + } + + .align-content-xl-start { + align-content: flex-start !important + } + + .align-content-xl-end { + align-content: flex-end !important + } + + .align-content-xl-center { + align-content: center !important + } + + .align-content-xl-between { + align-content: space-between !important + } + + .align-content-xl-around { + align-content: space-around !important + } + + .align-content-xl-stretch { + align-content: stretch !important + } + + .align-self-xl-auto { + align-self: auto !important + } + + .align-self-xl-start { + align-self: flex-start !important + } + + .align-self-xl-end { + align-self: flex-end !important + } + + .align-self-xl-center { + align-self: center !important + } + + .align-self-xl-baseline { + align-self: baseline !important + } + + .align-self-xl-stretch { + align-self: stretch !important + } +} + +.float-left { + float: left !important +} + +.float-right { + float: right !important +} + +.float-none { + float: none !important +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important + } + + .float-sm-right { + float: right !important + } + + .float-sm-none { + float: none !important + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important + } + + .float-md-right { + float: right !important + } + + .float-md-none { + float: none !important + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important + } + + .float-lg-right { + float: right !important + } + + .float-lg-none { + float: none !important + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important + } + + .float-xl-right { + float: right !important + } + + .float-xl-none { + float: none !important + } +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030 +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030 +} + +@supports (position: sticky) { + .sticky-top { + position: sticky; + top: 0; + z-index: 1020 + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + clip-path: inset(50%); + border: 0 +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + clip-path: none +} + +.w-25 { + width: 25% !important +} + +.w-50 { + width: 50% !important +} + +.w-75 { + width: 75% !important +} + +.w-100 { + width: 100% !important +} + +.h-25 { + height: 25% !important +} + +.h-50 { + height: 50% !important +} + +.h-75 { + height: 75% !important +} + +.h-100 { + height: 100% !important +} + +.mw-100 { + max-width: 100% !important +} + +.mh-100 { + max-height: 100% !important +} + +.m-0 { + margin: 0 !important +} + +.mt-0 { + margin-top: 0 !important +} + +.mr-0 { + margin-right: 0 !important +} + +.mb-0 { + margin-bottom: 0 !important +} + +.ml-0 { + margin-left: 0 !important +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important +} + +.m-1 { + margin: 0.25rem !important +} + +.mt-1 { + margin-top: 0.25rem !important +} + +.mr-1 { + margin-right: 0.25rem !important +} + +.mb-1 { + margin-bottom: 0.25rem !important +} + +.ml-1 { + margin-left: 0.25rem !important +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important +} + +.m-2 { + margin: 0.5rem !important +} + +.mt-2 { + margin-top: 0.5rem !important +} + +.mr-2 { + margin-right: 0.5rem !important +} + +.mb-2 { + margin-bottom: 0.5rem !important +} + +.ml-2 { + margin-left: 0.5rem !important +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important +} + +.m-3 { + margin: 1rem !important +} + +.mt-3 { + margin-top: 1rem !important +} + +.mr-3 { + margin-right: 1rem !important +} + +.mb-3 { + margin-bottom: 1rem !important +} + +.ml-3 { + margin-left: 1rem !important +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important +} + +.m-4 { + margin: 1.5rem !important +} + +.mt-4 { + margin-top: 1.5rem !important +} + +.mr-4 { + margin-right: 1.5rem !important +} + +.mb-4 { + margin-bottom: 1.5rem !important +} + +.ml-4 { + margin-left: 1.5rem !important +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important +} + +.m-5 { + margin: 3rem !important +} + +.mt-5 { + margin-top: 3rem !important +} + +.mr-5 { + margin-right: 3rem !important +} + +.mb-5 { + margin-bottom: 3rem !important +} + +.ml-5 { + margin-left: 3rem !important +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important +} + +.p-0 { + padding: 0 !important +} + +.pt-0 { + padding-top: 0 !important +} + +.pr-0 { + padding-right: 0 !important +} + +.pb-0 { + padding-bottom: 0 !important +} + +.pl-0 { + padding-left: 0 !important +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important +} + +.p-1 { + padding: 0.25rem !important +} + +.pt-1 { + padding-top: 0.25rem !important +} + +.pr-1 { + padding-right: 0.25rem !important +} + +.pb-1 { + padding-bottom: 0.25rem !important +} + +.pl-1 { + padding-left: 0.25rem !important +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important +} + +.p-2 { + padding: 0.5rem !important +} + +.pt-2 { + padding-top: 0.5rem !important +} + +.pr-2 { + padding-right: 0.5rem !important +} + +.pb-2 { + padding-bottom: 0.5rem !important +} + +.pl-2 { + padding-left: 0.5rem !important +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important +} + +.p-3 { + padding: 1rem !important +} + +.pt-3 { + padding-top: 1rem !important +} + +.pr-3 { + padding-right: 1rem !important +} + +.pb-3 { + padding-bottom: 1rem !important +} + +.pl-3 { + padding-left: 1rem !important +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important +} + +.p-4 { + padding: 1.5rem !important +} + +.pt-4 { + padding-top: 1.5rem !important +} + +.pr-4 { + padding-right: 1.5rem !important +} + +.pb-4 { + padding-bottom: 1.5rem !important +} + +.pl-4 { + padding-left: 1.5rem !important +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important +} + +.p-5 { + padding: 3rem !important +} + +.pt-5 { + padding-top: 3rem !important +} + +.pr-5 { + padding-right: 3rem !important +} + +.pb-5 { + padding-bottom: 3rem !important +} + +.pl-5 { + padding-left: 3rem !important +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important +} + +.m-auto { + margin: auto !important +} + +.mt-auto { + margin-top: auto !important +} + +.mr-auto { + margin-right: auto !important +} + +.mb-auto { + margin-bottom: auto !important +} + +.ml-auto { + margin-left: auto !important +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important + } + + .mt-sm-0 { + margin-top: 0 !important + } + + .mr-sm-0 { + margin-right: 0 !important + } + + .mb-sm-0 { + margin-bottom: 0 !important + } + + .ml-sm-0 { + margin-left: 0 !important + } + + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important + } + + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important + } + + .m-sm-1 { + margin: 0.25rem !important + } + + .mt-sm-1 { + margin-top: 0.25rem !important + } + + .mr-sm-1 { + margin-right: 0.25rem !important + } + + .mb-sm-1 { + margin-bottom: 0.25rem !important + } + + .ml-sm-1 { + margin-left: 0.25rem !important + } + + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important + } + + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important + } + + .m-sm-2 { + margin: 0.5rem !important + } + + .mt-sm-2 { + margin-top: 0.5rem !important + } + + .mr-sm-2 { + margin-right: 0.5rem !important + } + + .mb-sm-2 { + margin-bottom: 0.5rem !important + } + + .ml-sm-2 { + margin-left: 0.5rem !important + } + + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important + } + + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important + } + + .m-sm-3 { + margin: 1rem !important + } + + .mt-sm-3 { + margin-top: 1rem !important + } + + .mr-sm-3 { + margin-right: 1rem !important + } + + .mb-sm-3 { + margin-bottom: 1rem !important + } + + .ml-sm-3 { + margin-left: 1rem !important + } + + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important + } + + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important + } + + .m-sm-4 { + margin: 1.5rem !important + } + + .mt-sm-4 { + margin-top: 1.5rem !important + } + + .mr-sm-4 { + margin-right: 1.5rem !important + } + + .mb-sm-4 { + margin-bottom: 1.5rem !important + } + + .ml-sm-4 { + margin-left: 1.5rem !important + } + + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important + } + + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important + } + + .m-sm-5 { + margin: 3rem !important + } + + .mt-sm-5 { + margin-top: 3rem !important + } + + .mr-sm-5 { + margin-right: 3rem !important + } + + .mb-sm-5 { + margin-bottom: 3rem !important + } + + .ml-sm-5 { + margin-left: 3rem !important + } + + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important + } + + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important + } + + .p-sm-0 { + padding: 0 !important + } + + .pt-sm-0 { + padding-top: 0 !important + } + + .pr-sm-0 { + padding-right: 0 !important + } + + .pb-sm-0 { + padding-bottom: 0 !important + } + + .pl-sm-0 { + padding-left: 0 !important + } + + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important + } + + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important + } + + .p-sm-1 { + padding: 0.25rem !important + } + + .pt-sm-1 { + padding-top: 0.25rem !important + } + + .pr-sm-1 { + padding-right: 0.25rem !important + } + + .pb-sm-1 { + padding-bottom: 0.25rem !important + } + + .pl-sm-1 { + padding-left: 0.25rem !important + } + + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important + } + + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important + } + + .p-sm-2 { + padding: 0.5rem !important + } + + .pt-sm-2 { + padding-top: 0.5rem !important + } + + .pr-sm-2 { + padding-right: 0.5rem !important + } + + .pb-sm-2 { + padding-bottom: 0.5rem !important + } + + .pl-sm-2 { + padding-left: 0.5rem !important + } + + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important + } + + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important + } + + .p-sm-3 { + padding: 1rem !important + } + + .pt-sm-3 { + padding-top: 1rem !important + } + + .pr-sm-3 { + padding-right: 1rem !important + } + + .pb-sm-3 { + padding-bottom: 1rem !important + } + + .pl-sm-3 { + padding-left: 1rem !important + } + + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important + } + + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important + } + + .p-sm-4 { + padding: 1.5rem !important + } + + .pt-sm-4 { + padding-top: 1.5rem !important + } + + .pr-sm-4 { + padding-right: 1.5rem !important + } + + .pb-sm-4 { + padding-bottom: 1.5rem !important + } + + .pl-sm-4 { + padding-left: 1.5rem !important + } + + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important + } + + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important + } + + .p-sm-5 { + padding: 3rem !important + } + + .pt-sm-5 { + padding-top: 3rem !important + } + + .pr-sm-5 { + padding-right: 3rem !important + } + + .pb-sm-5 { + padding-bottom: 3rem !important + } + + .pl-sm-5 { + padding-left: 3rem !important + } + + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important + } + + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important + } + + .m-sm-auto { + margin: auto !important + } + + .mt-sm-auto { + margin-top: auto !important + } + + .mr-sm-auto { + margin-right: auto !important + } + + .mb-sm-auto { + margin-bottom: auto !important + } + + .ml-sm-auto { + margin-left: auto !important + } + + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important + } + + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important + } + + .mt-md-0 { + margin-top: 0 !important + } + + .mr-md-0 { + margin-right: 0 !important + } + + .mb-md-0 { + margin-bottom: 0 !important + } + + .ml-md-0 { + margin-left: 0 !important + } + + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important + } + + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important + } + + .m-md-1 { + margin: 0.25rem !important + } + + .mt-md-1 { + margin-top: 0.25rem !important + } + + .mr-md-1 { + margin-right: 0.25rem !important + } + + .mb-md-1 { + margin-bottom: 0.25rem !important + } + + .ml-md-1 { + margin-left: 0.25rem !important + } + + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important + } + + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important + } + + .m-md-2 { + margin: 0.5rem !important + } + + .mt-md-2 { + margin-top: 0.5rem !important + } + + .mr-md-2 { + margin-right: 0.5rem !important + } + + .mb-md-2 { + margin-bottom: 0.5rem !important + } + + .ml-md-2 { + margin-left: 0.5rem !important + } + + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important + } + + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important + } + + .m-md-3 { + margin: 1rem !important + } + + .mt-md-3 { + margin-top: 1rem !important + } + + .mr-md-3 { + margin-right: 1rem !important + } + + .mb-md-3 { + margin-bottom: 1rem !important + } + + .ml-md-3 { + margin-left: 1rem !important + } + + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important + } + + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important + } + + .m-md-4 { + margin: 1.5rem !important + } + + .mt-md-4 { + margin-top: 1.5rem !important + } + + .mr-md-4 { + margin-right: 1.5rem !important + } + + .mb-md-4 { + margin-bottom: 1.5rem !important + } + + .ml-md-4 { + margin-left: 1.5rem !important + } + + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important + } + + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important + } + + .m-md-5 { + margin: 3rem !important + } + + .mt-md-5 { + margin-top: 3rem !important + } + + .mr-md-5 { + margin-right: 3rem !important + } + + .mb-md-5 { + margin-bottom: 3rem !important + } + + .ml-md-5 { + margin-left: 3rem !important + } + + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important + } + + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important + } + + .p-md-0 { + padding: 0 !important + } + + .pt-md-0 { + padding-top: 0 !important + } + + .pr-md-0 { + padding-right: 0 !important + } + + .pb-md-0 { + padding-bottom: 0 !important + } + + .pl-md-0 { + padding-left: 0 !important + } + + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important + } + + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important + } + + .p-md-1 { + padding: 0.25rem !important + } + + .pt-md-1 { + padding-top: 0.25rem !important + } + + .pr-md-1 { + padding-right: 0.25rem !important + } + + .pb-md-1 { + padding-bottom: 0.25rem !important + } + + .pl-md-1 { + padding-left: 0.25rem !important + } + + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important + } + + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important + } + + .p-md-2 { + padding: 0.5rem !important + } + + .pt-md-2 { + padding-top: 0.5rem !important + } + + .pr-md-2 { + padding-right: 0.5rem !important + } + + .pb-md-2 { + padding-bottom: 0.5rem !important + } + + .pl-md-2 { + padding-left: 0.5rem !important + } + + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important + } + + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important + } + + .p-md-3 { + padding: 1rem !important + } + + .pt-md-3 { + padding-top: 1rem !important + } + + .pr-md-3 { + padding-right: 1rem !important + } + + .pb-md-3 { + padding-bottom: 1rem !important + } + + .pl-md-3 { + padding-left: 1rem !important + } + + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important + } + + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important + } + + .p-md-4 { + padding: 1.5rem !important + } + + .pt-md-4 { + padding-top: 1.5rem !important + } + + .pr-md-4 { + padding-right: 1.5rem !important + } + + .pb-md-4 { + padding-bottom: 1.5rem !important + } + + .pl-md-4 { + padding-left: 1.5rem !important + } + + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important + } + + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important + } + + .p-md-5 { + padding: 3rem !important + } + + .pt-md-5 { + padding-top: 3rem !important + } + + .pr-md-5 { + padding-right: 3rem !important + } + + .pb-md-5 { + padding-bottom: 3rem !important + } + + .pl-md-5 { + padding-left: 3rem !important + } + + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important + } + + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important + } + + .m-md-auto { + margin: auto !important + } + + .mt-md-auto { + margin-top: auto !important + } + + .mr-md-auto { + margin-right: auto !important + } + + .mb-md-auto { + margin-bottom: auto !important + } + + .ml-md-auto { + margin-left: auto !important + } + + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important + } + + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important + } + + .mt-lg-0 { + margin-top: 0 !important + } + + .mr-lg-0 { + margin-right: 0 !important + } + + .mb-lg-0 { + margin-bottom: 0 !important + } + + .ml-lg-0 { + margin-left: 0 !important + } + + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important + } + + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important + } + + .m-lg-1 { + margin: 0.25rem !important + } + + .mt-lg-1 { + margin-top: 0.25rem !important + } + + .mr-lg-1 { + margin-right: 0.25rem !important + } + + .mb-lg-1 { + margin-bottom: 0.25rem !important + } + + .ml-lg-1 { + margin-left: 0.25rem !important + } + + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important + } + + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important + } + + .m-lg-2 { + margin: 0.5rem !important + } + + .mt-lg-2 { + margin-top: 0.5rem !important + } + + .mr-lg-2 { + margin-right: 0.5rem !important + } + + .mb-lg-2 { + margin-bottom: 0.5rem !important + } + + .ml-lg-2 { + margin-left: 0.5rem !important + } + + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important + } + + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important + } + + .m-lg-3 { + margin: 1rem !important + } + + .mt-lg-3 { + margin-top: 1rem !important + } + + .mr-lg-3 { + margin-right: 1rem !important + } + + .mb-lg-3 { + margin-bottom: 1rem !important + } + + .ml-lg-3 { + margin-left: 1rem !important + } + + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important + } + + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important + } + + .m-lg-4 { + margin: 1.5rem !important + } + + .mt-lg-4 { + margin-top: 1.5rem !important + } + + .mr-lg-4 { + margin-right: 1.5rem !important + } + + .mb-lg-4 { + margin-bottom: 1.5rem !important + } + + .ml-lg-4 { + margin-left: 1.5rem !important + } + + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important + } + + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important + } + + .m-lg-5 { + margin: 3rem !important + } + + .mt-lg-5 { + margin-top: 3rem !important + } + + .mr-lg-5 { + margin-right: 3rem !important + } + + .mb-lg-5 { + margin-bottom: 3rem !important + } + + .ml-lg-5 { + margin-left: 3rem !important + } + + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important + } + + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important + } + + .p-lg-0 { + padding: 0 !important + } + + .pt-lg-0 { + padding-top: 0 !important + } + + .pr-lg-0 { + padding-right: 0 !important + } + + .pb-lg-0 { + padding-bottom: 0 !important + } + + .pl-lg-0 { + padding-left: 0 !important + } + + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important + } + + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important + } + + .p-lg-1 { + padding: 0.25rem !important + } + + .pt-lg-1 { + padding-top: 0.25rem !important + } + + .pr-lg-1 { + padding-right: 0.25rem !important + } + + .pb-lg-1 { + padding-bottom: 0.25rem !important + } + + .pl-lg-1 { + padding-left: 0.25rem !important + } + + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important + } + + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important + } + + .p-lg-2 { + padding: 0.5rem !important + } + + .pt-lg-2 { + padding-top: 0.5rem !important + } + + .pr-lg-2 { + padding-right: 0.5rem !important + } + + .pb-lg-2 { + padding-bottom: 0.5rem !important + } + + .pl-lg-2 { + padding-left: 0.5rem !important + } + + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important + } + + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important + } + + .p-lg-3 { + padding: 1rem !important + } + + .pt-lg-3 { + padding-top: 1rem !important + } + + .pr-lg-3 { + padding-right: 1rem !important + } + + .pb-lg-3 { + padding-bottom: 1rem !important + } + + .pl-lg-3 { + padding-left: 1rem !important + } + + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important + } + + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important + } + + .p-lg-4 { + padding: 1.5rem !important + } + + .pt-lg-4 { + padding-top: 1.5rem !important + } + + .pr-lg-4 { + padding-right: 1.5rem !important + } + + .pb-lg-4 { + padding-bottom: 1.5rem !important + } + + .pl-lg-4 { + padding-left: 1.5rem !important + } + + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important + } + + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important + } + + .p-lg-5 { + padding: 3rem !important + } + + .pt-lg-5 { + padding-top: 3rem !important + } + + .pr-lg-5 { + padding-right: 3rem !important + } + + .pb-lg-5 { + padding-bottom: 3rem !important + } + + .pl-lg-5 { + padding-left: 3rem !important + } + + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important + } + + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important + } + + .m-lg-auto { + margin: auto !important + } + + .mt-lg-auto { + margin-top: auto !important + } + + .mr-lg-auto { + margin-right: auto !important + } + + .mb-lg-auto { + margin-bottom: auto !important + } + + .ml-lg-auto { + margin-left: auto !important + } + + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important + } + + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important + } + + .mt-xl-0 { + margin-top: 0 !important + } + + .mr-xl-0 { + margin-right: 0 !important + } + + .mb-xl-0 { + margin-bottom: 0 !important + } + + .ml-xl-0 { + margin-left: 0 !important + } + + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important + } + + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important + } + + .m-xl-1 { + margin: 0.25rem !important + } + + .mt-xl-1 { + margin-top: 0.25rem !important + } + + .mr-xl-1 { + margin-right: 0.25rem !important + } + + .mb-xl-1 { + margin-bottom: 0.25rem !important + } + + .ml-xl-1 { + margin-left: 0.25rem !important + } + + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important + } + + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important + } + + .m-xl-2 { + margin: 0.5rem !important + } + + .mt-xl-2 { + margin-top: 0.5rem !important + } + + .mr-xl-2 { + margin-right: 0.5rem !important + } + + .mb-xl-2 { + margin-bottom: 0.5rem !important + } + + .ml-xl-2 { + margin-left: 0.5rem !important + } + + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important + } + + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important + } + + .m-xl-3 { + margin: 1rem !important + } + + .mt-xl-3 { + margin-top: 1rem !important + } + + .mr-xl-3 { + margin-right: 1rem !important + } + + .mb-xl-3 { + margin-bottom: 1rem !important + } + + .ml-xl-3 { + margin-left: 1rem !important + } + + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important + } + + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important + } + + .m-xl-4 { + margin: 1.5rem !important + } + + .mt-xl-4 { + margin-top: 1.5rem !important + } + + .mr-xl-4 { + margin-right: 1.5rem !important + } + + .mb-xl-4 { + margin-bottom: 1.5rem !important + } + + .ml-xl-4 { + margin-left: 1.5rem !important + } + + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important + } + + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important + } + + .m-xl-5 { + margin: 3rem !important + } + + .mt-xl-5 { + margin-top: 3rem !important + } + + .mr-xl-5 { + margin-right: 3rem !important + } + + .mb-xl-5 { + margin-bottom: 3rem !important + } + + .ml-xl-5 { + margin-left: 3rem !important + } + + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important + } + + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important + } + + .p-xl-0 { + padding: 0 !important + } + + .pt-xl-0 { + padding-top: 0 !important + } + + .pr-xl-0 { + padding-right: 0 !important + } + + .pb-xl-0 { + padding-bottom: 0 !important + } + + .pl-xl-0 { + padding-left: 0 !important + } + + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important + } + + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important + } + + .p-xl-1 { + padding: 0.25rem !important + } + + .pt-xl-1 { + padding-top: 0.25rem !important + } + + .pr-xl-1 { + padding-right: 0.25rem !important + } + + .pb-xl-1 { + padding-bottom: 0.25rem !important + } + + .pl-xl-1 { + padding-left: 0.25rem !important + } + + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important + } + + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important + } + + .p-xl-2 { + padding: 0.5rem !important + } + + .pt-xl-2 { + padding-top: 0.5rem !important + } + + .pr-xl-2 { + padding-right: 0.5rem !important + } + + .pb-xl-2 { + padding-bottom: 0.5rem !important + } + + .pl-xl-2 { + padding-left: 0.5rem !important + } + + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important + } + + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important + } + + .p-xl-3 { + padding: 1rem !important + } + + .pt-xl-3 { + padding-top: 1rem !important + } + + .pr-xl-3 { + padding-right: 1rem !important + } + + .pb-xl-3 { + padding-bottom: 1rem !important + } + + .pl-xl-3 { + padding-left: 1rem !important + } + + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important + } + + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important + } + + .p-xl-4 { + padding: 1.5rem !important + } + + .pt-xl-4 { + padding-top: 1.5rem !important + } + + .pr-xl-4 { + padding-right: 1.5rem !important + } + + .pb-xl-4 { + padding-bottom: 1.5rem !important + } + + .pl-xl-4 { + padding-left: 1.5rem !important + } + + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important + } + + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important + } + + .p-xl-5 { + padding: 3rem !important + } + + .pt-xl-5 { + padding-top: 3rem !important + } + + .pr-xl-5 { + padding-right: 3rem !important + } + + .pb-xl-5 { + padding-bottom: 3rem !important + } + + .pl-xl-5 { + padding-left: 3rem !important + } + + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important + } + + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important + } + + .m-xl-auto { + margin: auto !important + } + + .mt-xl-auto { + margin-top: auto !important + } + + .mr-xl-auto { + margin-right: auto !important + } + + .mb-xl-auto { + margin-bottom: auto !important + } + + .ml-xl-auto { + margin-left: auto !important + } + + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important + } + + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important + } +} + +.text-justify { + text-align: justify !important +} + +.text-nowrap { + white-space: nowrap !important +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap +} + +.text-left { + text-align: left !important +} + +.text-right { + text-align: right !important +} + +.text-center { + text-align: center !important +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important + } + + .text-sm-right { + text-align: right !important + } + + .text-sm-center { + text-align: center !important + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important + } + + .text-md-right { + text-align: right !important + } + + .text-md-center { + text-align: center !important + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important + } + + .text-lg-right { + text-align: right !important + } + + .text-lg-center { + text-align: center !important + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important + } + + .text-xl-right { + text-align: right !important + } + + .text-xl-center { + text-align: center !important + } +} + +.text-lowercase { + text-transform: lowercase !important +} + +.text-uppercase, +.initialism { + text-transform: uppercase !important +} + +.text-capitalize { + text-transform: capitalize !important +} + +.font-weight-normal { + font-weight: normal +} + +.font-weight-bold { + font-weight: bold +} + +.font-italic { + font-style: italic +} + +.text-white { + color: #fff !important +} + +.text-primary { + color: #00babc +} + +a.text-primary:hover, +a.text-primary:focus { + color: #008889 +} + +.text-secondary { + color: #C07307 +} + +a.text-secondary:hover, +a.text-secondary:focus { + color: #8f5605 +} + +.text-success { + color: #5cb85c +} + +a.text-success:hover, +a.text-success:focus { + color: #449d44 +} + +.text-info { + color: #5bc0de +} + +a.text-info:hover, +a.text-info:focus { + color: #31b0d5 +} + +.text-warning { + color: #E6B291 +} + +a.text-warning:hover, +a.text-warning:focus { + color: #dd9567 +} + +.text-danger { + color: #D8636F +} + +a.text-danger:hover, +a.text-danger:focus { + color: #ce3a49 +} + +.text-light { + color: #f8f9fa +} + +a.text-light:hover, +a.text-light:focus { + color: #dae0e5 +} + +.text-dark { + color: #343a40 +} + +a.text-dark:hover, +a.text-dark:focus { + color: #1d2124 +} + +.text-muted { + color: #777777 !important +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0 +} + +a.no-color { + color: inherit; + text-decoration: none +} + +a.no-color:hover { + text-decoration: none; + color: inherit; + filter: brightness(0.8); + -o-transition: all 0.05s ease-in-out; + transition: all 0.05s ease-in-out +} + +.visible { + visibility: visible !important +} + +.invisible { + visibility: hidden !important +} + +.project-home .simple-link { + padding: 10px +} + +.project-home .simple-link:hover { + opacity: 0.8 +} + +.project-home .project-status-box { + padding: 10px +} + +.project-grid { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + flex-flow: row wrap +} + +.project-grid.from-left { + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start +} + +.project-grid>.project-item { + display: inline-block; + max-width: 200px; + min-height: 200px; + position: relative; + box-flex: 0; + -ms-flex: 0 1 23%; + flex: 0 1 23%; + padding: 10px; + padding-top: 20px +} + +.project-grid>.project-item img { + max-width: 100% +} + +@media (max-width: 992px) { + .project-grid>.project-item { + box-flex: 0; + -ms-flex: 0 1 32%; + flex: 0 1 32%; + min-width: 32% + } +} + +@media (max-width: 768px) { + .project-grid>.project-item { + box-flex: 0; + -ms-flex: 0 1 100%; + flex: 0 1 100%; + max-width: inherit + } +} + +.projects-list { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + flex-flow: row wrap +} + +.projects-list>.project-item { + display: block; + padding: 5px +} + +.projects-list>.project-item img { + max-width: 100% +} + +.project-grid .project-item { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: distribute; + -ms-justify-content: space-around; + -o-justify-content: space-around; + justify-content: space-around; + -ms-flex-pack: distribute; + margin: 5px; + padding: 5px 10px; + border: 1px solid #e5e5e5; + border-radius: 3px; + background-color: #fff; + box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1) +} + +.project-grid .project-item:hover, +.project-grid .project-item:active, +.project-grid .project-item:focus { + text-decoration: none +} + +@media (max-width: 992px) { + .project-grid .project-item { + margin: 2px + } +} + +.project-grid .project-item .project-name { + font-size: 20px; + text-align: center; + margin-top: 15px +} + +.project-grid .project-item .project-indicators { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: distribute; + -ms-justify-content: space-around; + -o-justify-content: space-around; + justify-content: space-around; + -ms-flex-pack: distribute +} + +.project-grid .project-item .project-indicators .project-recommended { + position: absolute; + top: 0px; + right: 0px +} + +.project-grid .project-item .project-indicators .project-recommended>span.label.label-danger { + background-color: transparent; + color: #D8636F +} + +.project-grid .project-item .project-indicators .project-recommended>span.label.label-success { + background-color: transparent; + color: #5cb85c +} + +.project-grid .project-item .project-indicators .project-recommended>span.label.label-warning { + background-color: transparent; + color: #E6B291 +} + +.project-progress { + padding: 5px 0 5px +} + +.project-progress .progress { + margin-bottom: 0px; + height: 8px +} + +.marked-title+.project-progress { + margin-right: 10px +} + +.sidebar-item:hover, +.sidebar-item:active, +.sidebar-item:focus { + text-decoration: none +} + +.projects-list .project-item { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + margin: 5px; + padding: 5px 0 +} + +.projects-list .project-item:hover, +.projects-list .project-item:active, +.projects-list .project-item:focus { + text-decoration: none +} + +.projects-list .project-item .project-name { + font-size: 16px; + text-align: center +} + +.projects-list .project-item .project-indicators { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: distribute; + -ms-justify-content: space-around; + -o-justify-content: space-around; + justify-content: space-around; + -ms-flex-pack: distribute +} + +.projects-menu-list .project-item { + display: block; + font-size: 1.1em; + padding: 3px; + color: #666e80 +} + +.projects-menu-list .project-item:hover, +.projects-menu-list .project-item:active, +.projects-menu-list .project-item:focus { + text-decoration: none +} + +.projects-menu-list .project-item:hover, +.projects-menu-list .project-item:hover .project-status-icon { + color: #f2f2f2 +} + +.projects-menu-list .project-item .project-status-icon { + margin-right: 5px +} + +.projects-table thead, +.projects-table tfoot { + display: none +} + +.projects-table tr:first-child { + margin-top: 5px +} + +.projects-table tr:first-child td { + border-top: none +} + +.project-primaries, +.project-repo { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: start; + -ms-align-items: flex-start; + -o-align-items: flex-start; + align-items: flex-start; + -ms-flex-align: start; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: distribute; + -ms-justify-content: space-around; + -o-justify-content: space-around; + justify-content: space-around; + -ms-flex-pack: distribute; + clear: both +} + +@media (max-width: 991px) { + + .project-primaries, + .project-repo { + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column + } +} + +.project-primaries .copy, +.project-repo .copy { + cursor: pointer +} + +@media (max-width: 480px) { + .project-primaries { + background: #fff + } + + .project-primaries.container-innner-item { + padding-top: 10px + } +} + +.project-repo { + margin: 10px 0 +} + +.project-repo input { + font-family: "source-code-pro", courrier; + background-color: #f2f2f2; + color: #2c2c34; + border: none; + box-shadow: none; + text-overflow: clip; + text-align: right +} + +.project-repo input.light-team-repo { + border: 1px solid #f2f2f2; + background-color: transparent; + font-size: .8em +} + +.project-repo .input-group-addon { + border: none; + background-color: #e5e5e5; + color: #202026 +} + +.project-infos { + margin: 0; + padding: 10px; + background-color: #f2f2f2; + color: #202026; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.project-infos .project-infos-top p { + color: #35353b +} + +.project-infos .project-infos-top p>span:first-of-type { + width: 20px; + text-align: center; + display: inline-block +} + +.project-infos .project-progress+.project-infos-top { + margin-top: 10px +} + +.project-infos .project-infos-final-mark { + text-align: center; + border-top: 1px solid #f7f7f7; + margin-top: 5px; + padding-top: 5px; + opacity: .7 +} + +.project-infos .project-infos-final-mark>h1.mark-value { + font-size: 80px +} + +.project-infos .project-infos-final-mark>h1.mark-value>span:last-child { + font-size: 40px +} + +.project-infos .project-infos-final-mark>h1.mark-value.text-success:after { + content: "This project was successfuly done !"; + display: block; + font-size: 20px +} + +.project-infos .project-infos-final-mark>h1.mark-value.text-danger:after { + content: "You failed this project."; + display: block; + font-size: 20px +} + +.project-infos>.project-progress { + position: absolute; + top: 0px; + left: 0px; + right: 0px +} + +.project-infos>.project-progress .progress { + height: 5px; + border-radius: 0px; + box-shadow: 0px 0px 5px #f7f7f7; + background: #67676d; + margin-bottom: 0 +} + +.project-infos>.project-progress .progress-footer { + padding: 2px 5px; + color: #35353b; + font-size: .8em; + text-transform: uppercase +} + +.project-infos .project-infos-bottom { + text-align: center +} + +.project-infos .project-infos-bottom .btn-group { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center +} + +.project-infos .project-infos-bottom .btn-group .btn { + flex-grow: 1; + -ms-flex-positive: 1 +} + +.project-will-start { + color: #35353b; + text-align: center +} + +.project-will-start .project-will-start-icon { + font-size: 8em; + color: #e5e5e5 +} + +.project-will-start .project-will-start-time { + font-size: 2em +} + +.progress-white .progress { + background-color: #fff +} + +.project-teams { + padding: 10px +} + +.project-attachments-list .project-attachment-item { + display: inline-block; + padding: 3px 8px +} + +.project-attachments-list .project-attachment-item.attachment-code { + display: block +} + +.project-attachments-list .project-attachment-item .attachment-name { + display: inline-block +} + +.project-attachments-list .project-attachment-item .attachment-name span[class^="icon-"] { + color: #35353b +} + +.project-attachments-list .project-attachment-item .attachment-content { + display: block +} + +.projects-list-container .projects-list--header { + border-bottom: 1px solid #e5e5e5; + padding: 15px 0; + margin: 0; + margin-bottom: 10px; + position: relative; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start +} + +.projects-list-container .projects-list--header .btn--action { + border: none; + background-color: transparent; + padding: 0px 15px; + margin: 7px 0px; + color: #5b5b60 +} + +.projects-list-container .projects-list--header .btn--action:not(:first-child) { + border-left: 1px solid #e5e5e5 +} + +.projects-list-container .projects-list--header .btn--action.asc, +.projects-list-container .projects-list--header .btn--action.desc, +.projects-list-container .projects-list--header .btn--action.active { + color: #00babc +} + +.projects-list-container .projects-list--header .btn--action:active, +.projects-list-container .projects-list--header .btn--action:focus { + outline: none +} + +.projects-list-container .projects-list--header .btn--action:hover { + color: #008889 +} + +.projects-list-container .projects-list--header span.top-legend { + position: absolute; + color: #5b5b60; + top: 0%; + text-transform: uppercase; + font-size: 0.7em +} + +.projects-list-container .projects-list--header .projects-list--search { + max-width: 300px; + margin-right: 30px +} + +.projects-list-container .projects-list--header .projects-list--filters--pod { + box-flex: 1; + -ms-flex: 1 0; + flex: 1 0 +} + +@media (max-width: 1400px) { + .projects-list-container .projects-list--header { + box-lines: multiple; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center + } + + .projects-list-container .projects-list--header .projects-list--search { + flex-grow: 1; + -ms-flex-positive: 1; + flex-basis: 100%; + -ms-flex-preferred-size: 100%; + max-width: 100% + } + + .projects-list-container .projects-list--header span.top-legend { + position: inherit + } + + .projects-list-container .projects-list--header .projects-list--filters--pod { + flex-grow: 1; + -ms-flex-positive: 1; + margin-top: 10px; + text-align: center + } +} + +@media (max-width: 768px) { + .projects-list-container .projects-list--header { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center + } + + .projects-list-container .projects-list--header .projects-list--filters--pod { + flex-basis: 100%; + -ms-flex-preferred-size: 100%; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify + } +} + +.projects-list-container .projects-list--list-header, +.projects-list-container .projects-list--list { + list-style-type: none; + padding-left: 0 +} + +.projects-list-container .projects-list--list-header .project-item, +.projects-list-container .projects-list--list .project-item { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + min-height: 34px +} + +.projects-list-container .projects-list--list-header .project-item:hover, +.projects-list-container .projects-list--list .project-item:hover { + background-color: #f2f2f2 +} + +.projects-list-container .projects-list--list-header .project-item .project-duration, +.projects-list-container .projects-list--list-header .project-item .project-recomendation, +.projects-list-container .projects-list--list-header .project-item .project-difficulty, +.projects-list-container .projects-list--list-header .project-item .project-registration-container, +.projects-list-container .projects-list--list .project-item .project-duration, +.projects-list-container .projects-list--list .project-item .project-recomendation, +.projects-list-container .projects-list--list .project-item .project-difficulty, +.projects-list-container .projects-list--list .project-item .project-registration-container { + box-flex: 1; + -ms-flex: 1 0; + flex: 1 0; + text-align: right; + color: #5b5b60 +} + +.projects-list-container .projects-list--list-header .project-item .project-name, +.projects-list-container .projects-list--list .project-item .project-name { + box-flex: 1; + -ms-flex: 1 0 200px; + flex: 1 0 200px +} + +.projects-list-container .projects-list--list-header .project-item .project-name.project-succeed a, +.projects-list-container .projects-list--list .project-item .project-name.project-succeed a { + color: #5cb85c +} + +.projects-list-container .projects-list--list-header .project-item .project-name.project-failed a, +.projects-list-container .projects-list--list .project-item .project-name.project-failed a { + color: #D8636F +} + +.projects-list-container .projects-list--list-header .project-item .project-name:after, +.projects-list-container .projects-list--list .project-item .project-name:after { + content: attr(data-result) +} + +.projects-list-container .projects-list--list-header .project-item .project-duration, +.projects-list-container .projects-list--list .project-item .project-duration { + flex-basis: 100px; + -ms-flex-preferred-size: 100px +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty, +.projects-list-container .projects-list--list .project-item .project-difficulty { + text-align: center; + box-flex: 0; + -ms-flex: 0 0 100px; + flex: 0 0 100px +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty .tier-0, +.projects-list-container .projects-list--list .project-item .project-difficulty .tier-0 { + color: #5cb85c +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty .tier-1, +.projects-list-container .projects-list--list .project-item .project-difficulty .tier-1 { + color: #5cb85c +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty .tier-2, +.projects-list-container .projects-list--list .project-item .project-difficulty .tier-2 { + color: #5cb85c +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty .tier-3, +.projects-list-container .projects-list--list .project-item .project-difficulty .tier-3 { + color: #E6B291 +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty .tier-4, +.projects-list-container .projects-list--list .project-item .project-difficulty .tier-4 { + color: #E6B291 +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty .tier-5, +.projects-list-container .projects-list--list .project-item .project-difficulty .tier-5 { + color: #D8636F +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty .tier-6, +.projects-list-container .projects-list--list .project-item .project-difficulty .tier-6 { + color: #D8636F +} + +.projects-list-container .projects-list--list-header .project-item .project-difficulty .tier--1, +.projects-list-container .projects-list--list .project-item .project-difficulty .tier--1 { + color: #5cb85c +} + +.projects-list-container .projects-list--list-header .project-item .project-recomendation, +.projects-list-container .projects-list--list .project-item .project-recomendation { + flex-basis: 150px; + -ms-flex-preferred-size: 150px +} + +.projects-list-container .projects-list--list-header .project-item .project-recomendation>span.label, +.projects-list-container .projects-list--list .project-item .project-recomendation>span.label { + font-size: 100% +} + +.projects-list-container .projects-list--list-header .project-item .project-recomendation>span.label.label-danger, +.projects-list-container .projects-list--list .project-item .project-recomendation>span.label.label-danger { + background-color: transparent; + color: #D8636F +} + +.projects-list-container .projects-list--list-header .project-item .project-recomendation>span.label.label-success, +.projects-list-container .projects-list--list .project-item .project-recomendation>span.label.label-success { + background-color: transparent; + color: #5cb85c +} + +.projects-list-container .projects-list--list-header .project-item .project-recomendation>span.label.label-warning, +.projects-list-container .projects-list--list .project-item .project-recomendation>span.label.label-warning { + background-color: transparent; + color: #E6B291 +} + +.projects-list-container .projects-list--list-header .project-item .project-registration-container, +.projects-list-container .projects-list--list .project-item .project-registration-container { + flex-basis: 100px; + -ms-flex-preferred-size: 100px +} + +.projects-list-container .projects-list--list-header .project-item .project-registration-container .project-registration, +.projects-list-container .projects-list--list .project-item .project-registration-container .project-registration { + text-align: right; + background-color: transparent; + color: #35353b; + font-size: 100% +} + +.projects-list-container .projects-list--list-header .project-item .project-registration-container .project-registration.label-default, +.projects-list-container .projects-list--list .project-item .project-registration-container .project-registration.label-default { + background-color: transparent; + color: #67676d +} + +.projects-list-container .projects-list--list-header .project-item .project-registration-container .project-registration.label-danger, +.projects-list-container .projects-list--list .project-item .project-registration-container .project-registration.label-danger { + background-color: transparent; + color: #D8636F +} + +.projects-list-container .projects-list--list-header .project-item .project-registration-container .project-registration.label-success, +.projects-list-container .projects-list--list .project-item .project-registration-container .project-registration.label-success { + background-color: transparent; + color: #5cb85c +} + +.projects-list-container .projects-list--list-header .project-item .project-registration-container .project-registration.label-warning, +.projects-list-container .projects-list--list .project-item .project-registration-container .project-registration.label-warning { + background-color: transparent; + color: #E6B291 +} + +.projects-list-container .projects-list--list-header .project-item .project-actions, +.projects-list-container .projects-list--list .project-item .project-actions { + box-flex: 0; + -ms-flex: 0 0 50px; + flex: 0 0 50px +} + +.projects-list-container .projects-list--list-header .project-item .project-actions form, +.projects-list-container .projects-list--list .project-item .project-actions form { + display: block +} + +.projects-list-container .projects-list--list-header .project-item .project-actions form input, +.projects-list-container .projects-list--list-header .project-item .project-actions form button, +.projects-list-container .projects-list--list .project-item .project-actions form input, +.projects-list-container .projects-list--list .project-item .project-actions form button { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; + border: 0; + width: 100%; + text-align: left +} + +.projects-list-container .projects-list--list-header .project-item .project-actions form input:active, +.projects-list-container .projects-list--list-header .project-item .project-actions form input:focus, +.projects-list-container .projects-list--list-header .project-item .project-actions form input:hover, +.projects-list-container .projects-list--list-header .project-item .project-actions form button:active, +.projects-list-container .projects-list--list-header .project-item .project-actions form button:focus, +.projects-list-container .projects-list--list-header .project-item .project-actions form button:hover, +.projects-list-container .projects-list--list .project-item .project-actions form input:active, +.projects-list-container .projects-list--list .project-item .project-actions form input:focus, +.projects-list-container .projects-list--list .project-item .project-actions form input:hover, +.projects-list-container .projects-list--list .project-item .project-actions form button:active, +.projects-list-container .projects-list--list .project-item .project-actions form button:focus, +.projects-list-container .projects-list--list .project-item .project-actions form button:hover { + text-decoration: none; + color: #262626; + background-color: #f5f5f5 +} + +.projects-list-container .projects-list--list-header .project-item .project-status, +.projects-list-container .projects-list--list .project-item .project-status { + box-flex: 0; + -ms-flex: 0 0 30px; + flex: 0 0 30px; + color: #FFEAA7 +} + +@media (max-width: 768px) { + + .projects-list-container .projects-list--list-header .project-item .project-duration, + .projects-list-container .projects-list--list-header .project-item .project-difficulty, + .projects-list-container .projects-list--list .project-item .project-duration, + .projects-list-container .projects-list--list .project-item .project-difficulty { + display: none + } + + .projects-list-container .projects-list--list-header .project-item .project-name:after, + .projects-list-container .projects-list--list .project-item .project-name:after { + content: "" + } + + .projects-list-container .projects-list--list-header .project-item .project-name.project-succeed:after, + .projects-list-container .projects-list--list .project-item .project-name.project-succeed:after { + font-family: streamline-filled; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: "" + } + + .projects-list-container .projects-list--list-header .project-item .project-name.project-failed:after, + .projects-list-container .projects-list--list .project-item .project-name.project-failed:after { + font-family: streamline-filled; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + content: "" + } +} + +@media (max-width: 480px) { + + .projects-list-container .projects-list--list-header .project-item, + .projects-list-container .projects-list--list .project-item { + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-lines: multiple; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + border-bottom: 1px solid #e5e5e5; + margin-bottom: 10px; + padding: 10px + } + + .projects-list-container .projects-list--list-header .project-item .project-recomendation, + .projects-list-container .projects-list--list-header .project-item .project-registration-container, + .projects-list-container .projects-list--list-header .project-item .project-actions, + .projects-list-container .projects-list--list .project-item .project-recomendation, + .projects-list-container .projects-list--list .project-item .project-registration-container, + .projects-list-container .projects-list--list .project-item .project-actions { + text-align: center; + flex-basis: 30%; + -ms-flex-preferred-size: 30% + } + + .projects-list-container .projects-list--list-header .project-item .project-name, + .projects-list-container .projects-list--list .project-item .project-name { + font-size: 1.3em; + flex-basis: 100%; + -ms-flex-preferred-size: 100% + } +} + +#projectuser-list-container .projects-list--header { + margin-bottom: 0px +} + +#projectuser-list-container ul.projects-list--list-header { + border-bottom: solid 1px #e5e5e5 +} + +#projectuser-list-container ul.projects-list--list-header li.project-item:hover { + background: #fff +} + +#projectuser-list-container ul.projects-list--list-header li.project-item>div[class*='project-user'] { + color: #5b5b60; + background: #fff +} + +#projectuser-list-container ul.projects-list--list-header li.project-item>div[class*='project-user']:hover { + background: #fff +} + +#projectuser-list-container div[class*='project-user'] { + text-align: left; + flex-basis: 18%; + -ms-flex-preferred-size: 18%; + padding-left: 5px +} + +#projectuser-list-container .project-item>.project-user--occurrence { + flex-basis: 10%; + -ms-flex-preferred-size: 10% +} + +#projectuser-list-container .project-item>.project-user--state { + flex-basis: 10px; + -ms-flex-preferred-size: 10px +} + +#projectuser-list-container .project-item>.project-user--state [data-original-title="Success"] { + color: #5cb85c +} + +#projectuser-list-container .project-item>.project-user--state [data-original-title="Done"] { + color: #FFCC43 +} + +#projectuser-list-container .project-item>.project-user--state [data-original-title="Fail"] { + color: #D8636F +} + +.main-project-tab-content { + padding-top: 30px +} + +.main-project-tab-content .list-group-item-id { + color: #a1a1a1; + font-size: 12px +} + +.main-project-tab-content ul.sortable-rules li { + cursor: -webkit-grab +} + +.main-project-tab-content ul.sortable-rules li .modal { + cursor: initial +} + +.main-project-tab-content ul.sortable-rules li.sortable-ghost { + opacity: 0.5 +} + +.main-project-tab-content span.rule-position { + color: #a1a1a1 +} + +.main-project-tab-content span.rule-position:before { + content: '#' +} + +.main-project-tab-content span.twitter-typeahead { + width: 100% +} + +.main-project-tab-content div.rule-desc { + margin-bottom: 10px +} + +.main-project-tab-content .project_project_sessions_project_sessions_rules_rule { + margin-bottom: 10px +} + +.main-project-tab-content .project_project_sessions_project_sessions_rules_rule .project-opts { + margin-top: 10px +} + +.main-project-tab-content span.rule-kind { + float: right; + background-color: #fff; + padding: 0px 5px; + color: #a1a1a1; + border: solid 1px #a1a1a1; + border-radius: 2px +} + +.main-project-tab-content span.rule-kind.inscription { + color: #5cb85c; + border-color: #5cb85c +} + +.main-project-tab-content span.rule-kind.group_validation { + color: #00babc; + border-color: #00babc +} + +.main-project-tab-content span.rule-kind.team_generation { + color: #5bc0de; + border-color: #5bc0de +} + +.main-project-tab-content span.rule-kind.correction { + color: #E6B291; + border-color: #E6B291 +} + +.main-project-tab-content span.rule-kind.retriable { + color: #333745; + border-color: #333745 +} + +.main-project-tab-content span.rule-kind.eval_compilation { + color: #962D3E; + border-color: #962D3E +} + +.main-project-tab-content span.rule-kind.final_compilation { + color: #D8636F; + border-color: #D8636F +} + +.react-projects-form .nested-form { + padding: 20px; + border: 1px solid pink +} + +.full-width { + width: 100% +} + +#team_search { + margin: 20px +} + +@media (min-width: 768px) { + #project-show .project-header { + text-align: center; + margin-bottom: 25px + } + + #project-show .project-main { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center + } + + #project-show .project-main .project-summary { + box-flex: 0; + -ms-flex: 0 0 200px; + flex: 0 0 200px; + margin-right: 40px + } + + #project-show .project-main .project-summary .project-status-box { + height: 170px + } + + #project-show .project-main .project-description { + box-flex: 0; + -ms-flex: 0 1 100%; + flex: 0 1 100% + } +} + +@media (max-width: 768px) { + #project-show .project-header { + text-align: center + } + + #project-show .project-main { + display: block + } + + #project-show .project-main .project-summary { + margin: 10px + } + + #project-show .project-main .project-summary .project-status-box { + height: 130px + } + + #project-show .project-main .project-description { + margin: 10px + } + + #project-show .project-main .project-description .project-desc-item:first-child { + border-top: solid 0px #eee + } +} + +#project-show .project-notifications { + padding: 0px; + padding-top: 5px +} + +#project-show .project-notifications .project-item.reminder { + font-weight: initial; + border-bottom: solid 1px #e6e6e6; + display: block +} + +#project-show .project-notifications .project-item.reminder .project-item-text { + padding: 0px; + margin-bottom: 5px +} + +#project-show .project-notifications .project-item.reminder .project-item-actions { + padding: 0px; + display: block +} + +#project-show .project-notifications .project-item.reminder .project-item-actions .time { + padding: 0px; + display: block +} + +#project-show .project-notifications .project-item.reminder .project-item-actions a { + padding: 0px +} + +#project-show .project-notifications .project-item.reminder .project-item-actions a.missing-user { + float: right +} + +#project-show .project-tier-0, +#project-show .project-tier-1 { + color: #5cb85c +} + +#project-show .project-tier-2, +#project-show .project-tier-3 { + color: #E6B291 +} + +#project-show .project-tier-4, +#project-show .project-tier-5 { + color: #D8636F +} + +#project-show .project-status-box { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + color: #fff; + font-size: 1.7em; + border-radius: 2px +} + +#project-show .project-status-box span { + font-size: 2.5em +} + +#project-show .project-status-box[data-status=forbidden], +#project-show .project-status-box[data-status=closed] { + background-color: #D8636F +} + +#project-show .project-status-box[data-status=allowed] { + background-color: #00babc +} + +#project-show .project-status-box[data-status='not recommended'] { + background-color: #E6B291 +} + +#project-show .project-status-box[data-status=subscribed] { + background-color: #00babc +} + +#project-show .project-status-box[data-status=success] { + background-color: #5cb85c +} + +#project-show .project-status-box[data-status=success] span:after { + content: '/100'; + font-size: 0.2em +} + +#project-show .project-status-box[data-status=fail] { + background-color: #D8636F +} + +#project-show .project-status-box[data-status=fail] span:after { + content: '/100'; + font-size: 0.3em +} + +#project-show .project-summary-item { + border-bottom: solid 1px #ccc; + padding-top: 10px; + padding-bottom: 10px +} + +#project-show .project-summary-item.project-children { + padding-top: 0px; + padding-bottom: 0px +} + +#project-show .project-summary-item .btn { + width: 80%; + margin: 0 10% +} + +#project-show .project-attachment-item { + padding: 0px; + width: 100% +} + +#project-show .project-attachment-item .attachment-name { + margin-top: 0px; + margin-bottom: 0px; + font-size: 1em +} + +#project-show .skill-list { + border-left: solid 5px #eee; + padding-left: 10px +} + +#project-show .project-desc-item { + border-top: solid 1px #eee; + padding-top: 10px; + padding-bottom: 10px +} + +.team-item .team-status { + text-align: center; + padding: 5px 0; + background-color: #fff; + margin: 5px 5px 10px 5px +} + +.team-item .typeahead { + width: auto +} + +.team-item .no-corrections { + font-size: 1.2em +} + +.team-item .team-actions span[class^="icon-"] { + margin-right: 5px +} + +.team-users-list { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start +} + +.team-users-list .team-user-item { + margin-right: 5px; + padding: 5px; + text-align: center; + position: relative +} + +.leader-user { + color: #E6B291; + position: absolute; + top: 0px; + right: 0px +} + +.team-proposal { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify +} + +.team-proposal+.team-proposal { + border-top: 1px solid #f7f7f7 +} + +.correction-item+.correction-item { + border-top: 1px solid rgba(0, 0, 0, 0.025) +} + +.correction-item .corrected-item { + padding: 5px; + margin: 5px 0; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start +} + +.correction-item .corrected-item .corrected-item-text { + flex-grow: 1; + -ms-flex-positive: 1; + width: 90% +} + +.correction-item .corrected-item .correction-comment-header span { + word-break: break-word +} + +.correction-item .corrected-item .corrected-header { + color: #67676d; + text-transform: uppercase; + font-size: .8em +} + +.correction-item .corrected-item .square-s { + display: inline-block; + margin-right: 10px; + flex-shrink: 0; + -ms-flex-negative: 0; + align-self: flex-start; + margin-top: 5px +} + +.correction-item .corrected-item .correction-comment-item { + padding: 10px; + background-color: #f7f7f7; + border-radius: 3px; + margin: 5px 0; + word-break: break-all +} + +.correction-item .corrected-item .correction-comment-item .correction-comment-header { + color: #35353b +} + +.correction-item .corrected-item .correction-comment-item .correction-comment-body { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + border-top: solid 1px #e6e6e6; + margin-top: 10px; + padding-top: 10px +} + +.correction-item .corrected-item .correction-comment { + word-wrap: break-word; + word-break: break-word; + display: block; + font-style: oblique; + color: #35353b +} + +.team-users-list .team-user-item { + display: inline-block +} + +.team-item .team-header:hover, +.team-item .team-header:focus { + text-decoration: none +} + +.team-item .team-header .team-name, +.team-item .team-header .team-status, +.team-item .team-header .team-mark { + font-size: 1.6em +} + +.team-item .team-header .team-status-dot { + color: #e5e5e5 +} + +.team-item .team-header .team-status-dot.text-success { + color: #5cb85c +} + +.team-item .team-repo .input-group input { + font-family: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace; + background-color: #fbfbfb; + border: 1px solid #efefef; + box-shadow: none +} + +.team-item .team-repo .input-group input:focus { + box-shadow: none +} + +.team-item .team-content .team-notice { + font-size: 1em; + color: #67676d +} + +.team-item .team-content .team-subtitle { + font-size: 1em; + margin-top: 10px +} + +.team-item .team-content .team-title { + font-size: 0.8em; + text-transform: uppercase; + color: #67676d; + letter-spacing: 0.06em; + margin-top: 0px; + margin-bottom: 20px +} + +.team-item .team-content .team-lock-and-close { + margin-top: 15px; + color: #35353b +} + +.team-item .team-content .team-actions { + margin-top: 10px +} + +.rangeslider, +.rangeslider__fill { + background: #e6e6e6; + display: block; + height: 20px; + width: 100%; + box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3); + border-radius: 10px +} + +.rangeslider { + position: relative +} + +.rangeslider--disabled { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); + opacity: 0.4 +} + +.rangeslider__fill { + background: #00BABC; + position: absolute; + top: 0 +} + +.rangeslider__handle { + background: white; + border: 1px solid #ccc; + cursor: pointer; + display: inline-block; + width: 40px; + height: 40px; + position: absolute; + top: -10px; + border-radius: 50% +} + +.rangeslider__handle:after { + content: attr(data-percent); + display: block; + width: 40px; + text-align: center; + color: rgba(0, 0, 0, 0.7); + height: 18px; + margin: auto; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 50% +} + +.rangeslider__handle:active { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjEiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4xMiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=="); + background-size: 100%; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, rgba(0, 0, 0, 0.12))); + background-image: -moz-linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.12)); + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.12)); + background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.12)) +} + +input[type="range"]:focus+.rangeslider .rangeslider__handle { + box-shadow: 0 0 8px rgba(255, 0, 255, 0.9) +} + +.rangeslider__handle { + font-weight: bold; + text-align: center; + padding-top: 10px +} + +#calendar { + margin-top: 15px !important +} + +.fc-unthemed { + color: #02c4c7 +} + +.fc-axis { + padding: 4px 24px !important; + text-align: center !important +} + +.fc-day-header { + padding: 8px 0px !important +} + +.fc-widget-header th { + border: none +} + +.fc-slats td { + border-top-style: solid !important; + border-top-color: #eee +} + +.fc-event { + padding: 8px; + background: #C9E9E8; + border: solid 1px #02c4c7 +} + +.fc-event, +.fc-event:hover, +.ui-widget .fc-event { + color: #02c4c7 +} + +.fc-title { + font-weight: bold +} + +.fc-today-button { + background: #02c4c7; + border-radius: 2px !important; + border: none; + padding-left: 24px !important; + padding-right: 24px !important; + color: #fff; + text-shadow: none; + text-transform: capitalize +} + +.fc-prev-button, +.fc-next-button { + border: none; + background: #EBEBEB; + color: #79797D; + border-radius: 2px !important; + padding-left: 16px !important; + padding-right: 16px !important +} + +.fc-prev-button { + margin-right: -8px !important +} + +.fc-center h2 { + font-size: 20px; + color: #02c4c7 +} + +.fc-agenda-view>table>thead { + border-color: #eee000 +} + +.reserved { + background-color: #e4bdbd; + border: solid 1px #bc1301; + color: #bc1301 +} + +.fc-event.closed { + background: #f0f0f0 +} + +.fc-ltr .fc-time-grid .fc-event-container { + margin: 0 +} + +#loading { + z-index: 10000; + text-align: center; + margin: 60px 0px; + position: absolute; + top: 50%; + margin: auto; + width: 100% +} + +canvas#view.graph-canvas { + background: radial-gradient(ellipse at bottom, #002534 0%, #090a0f 100%) +} + +.view_ctn { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: vertical; + box-direction: normal; + flex-direction: column; + -ms-flex-direction: column; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + width: 100%; + box-flex: 1; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + display: block +} + +.view_ctn canvas#view { + height: 100%; + width: 100% +} + +#graph_description { + display: none; + position: absolute; + top: 0; + right: 0; + margin: 10px; + width: 100%; + max-width: 300px; + min-height: 100px; + border: solid 1px #fff; + color: #fff; + background-color: rgba(6, 19, 28, 0.68); + border-radius: 5px; + padding: 20px +} + +#graph_description .content { + margin: 10px 0px +} + +#graph_description .description { + color: #909090 +} + +#graph_description .header span { + color: #fff; + font-size: 0.9em; + padding: 0px 5px; + border-radius: 2px +} + +#graph_description .header span.done { + background-color: #5cb85c +} + +#graph_description .header span.fail { + background-color: #D8636F +} + +#graph_description .header span.unavailable { + background-color: #D8636F +} + +#graph_description .header span.unavailable:before { + content: "unavailable" +} + +.graph_ui_left { + position: absolute; + top: 10px; + left: 10px +} + +#graph_cursus, +#graph_campus, +#graph_layer { + width: auto; + height: 30px; + color: #67676d; + border: solid 1px #fff; + color: #fff; + background-color: rgba(6, 19, 28, 0.68); + padding: 4px 10px; + margin-right: 10px +} + +#graph_cursus:focus, +#graph_campus:focus, +#graph_layer:focus { + box-shadow: none +} + +#graph_search_icon+.twitter-typeahead { + position: relative; + left: -33px; + width: 200px; + display: none; + vertical-align: top +} + +#graph_search_icon+.twitter-typeahead .twitter-typeahead { + width: 100% +} + +#graph_search_icon+.twitter-typeahead .tt-hint { + width: 100%; + height: 30px +} + +#graph_search_icon+.twitter-typeahead .tt-input { + vertical-align: baseline; + padding-left: 10px; + width: 100%; + background-color: rgba(6, 19, 28, 0.68); + color: #fff; + border: solid 1px #67676d; + border-radius: 5px +} + +#graph_search_icon+.twitter-typeahead .tt-input:hover, +#graph_search_icon+.twitter-typeahead .tt-input:focus { + border: solid 1px #fff +} + +#graph_search_icon+.twitter-typeahead .tt-menu { + width: 100%; + background-color: rgba(6, 19, 28, 0.68); + color: #fff; + border-bottom: solid 1px #fff; + border-left: solid 1px #fff; + border-right: solid 1px #fff +} + +#graph_search_icon+.twitter-typeahead .tt-cursor { + background-color: rgba(18, 57, 84, 0.68) +} + +#graph_search_icon { + cursor: pointer; + display: inline-block; + vertical-align: bottom; + width: 30px; + height: 30px; + padding: 5px +} + +#graph_search_icon::before { + padding: 3px +} + +#graph_search { + display: none; + vertical-align: baseline; + padding-left: 10px; + width: 100%; + height: 30px; + background-color: rgba(6, 19, 28, 0.68); + color: #fff; + border: solid 1px #67676d; + border-radius: 5px +} + +#graph_search:hover, +#graph_search:focus { + border: solid 1px #fff +} + +#graph_help_icon { + cursor: pointer; + position: absolute !important; + bottom: 10px; + right: 10px; + height: 30px; + padding: 5px; + padding-left: 10px; + width: 30px +} + +#graph_help { + position: absolute; + display: none; + top: 10px; + min-width: 300px; + right: 10px; + display: none; + padding: 10px +} + +#graph_help .table { + border: none +} + +#graph_help .table td { + text-align: left +} + +#graph_help .table th { + text-align: left; + border: none +} + +#graph_help .graph-legend { + text-align: center; + margin: 10px auto +} + +#graph_help span.legend { + display: inline-block; + border-radius: 5px; + margin: 5px; + padding: 0px 5px; + text-align: center; + background-color: #46484c +} + +#graph_help span.legend.done { + background-color: #00babc; + border: solid 2px #00babc +} + +#graph_help span.legend.in-progress { + border: solid 2px #00babc; + color: #00babc +} + +#graph_help span.legend.available { + border: solid 2px #fff +} + +#graph_help span.legend.not_recommended { + border: solid 2px #E6B291; + color: #E6B291 +} + +#graph_help span.legend.unavailable { + border: solid 2px #6f7278; + color: #6f7278 +} + +#graph_help span.legend.fail { + background-color: #D8636F; + border: solid 2px #D8636F +} + +.graph-elem { + background-color: rgba(6, 19, 28, 0.68); + color: #fff; + border: solid 1px #fff; + border-radius: 5px; + position: relative; + z-index: 2 +} + +@media (max-width: 992px) { + + #graph_search_icon+.twitter-typeahead, + #graph_search_icon { + position: absolute !important; + top: 40px; + left: 0px + } + + #graph_help { + top: 90px; + left: 10px + } + + #graph_description { + top: 90px; + left: 10px; + margin: 0px + } +} + +.dash-padding-top { + margin-top: 20px +} + +.dash-blue-color-text { + color: #00babc +} + +#dashes-users-container .dash-vertical { + height: 105px; + padding: 5px +} + +#dashes-users-container .dash-vertical:last-child { + border-bottom: none +} + +#dashes-users-container .dash-vertical .dash-container { + padding: 10px; + height: 95px; + border-radius: 10px; + border: solid 2px #e5e5e5; + padding: 10px +} + +#dashes-users-container .dash-vertical .dash-container .dash-duration, +#dashes-users-container .dash-vertical .dash-container .dash-start-date { + position: relative; + bottom: -30px; + color: #67676d +} + +#dashes-users-container .dash-vertical .dash-container[data-state=missed] .dash-final-mark, +#dashes-users-container .dash-vertical .dash-container[data-state=missed] .dash-duration, +#dashes-users-container .dash-vertical .dash-container[data-state=missed] .dash-start-date { + color: #e5e5e5 +} + +#dashes-users-container .dash-vertical .dash-container[data-state=missed] .dash-title>a { + color: #e5e5e5 +} + +#dashes-users-container .dash-vertical .dash-container[data-state=incomplete] .dash-final-mark { + color: #67676d +} + +#dashes-users-container .dash-vertical .dash-container[data-state=success] .dash-final-mark { + color: #00babc +} + +#dashes-users-container .dash-vertical .dash-container[data-state=fail] .dash-final-mark { + color: #D8636F +} + +#dashes-users-container .dash-vertical .dash-container .dash-left { + height: 75px; + float: left; + text-align: center; + margin-right: 20px +} + +#dashes-users-container .dash-vertical .dash-container .icon-state { + width: 55px; + height: 55px; + font-size: 50px +} + +#dashes-users-container .dash-vertical .dash-container .dash-title { + font-size: large +} + +.scale-flags-sticky { + position: sticky; + background: #fafafa; + top: 0px; + z-index: 999; + padding-bottom: 20px +} + +.scale-flags-sticky .scale-div { + margin-top: 0px +} + +.scale-team-container { + margin: auto; + max-width: 800px; + background: transparent +} + +.scale-div { + background: white; + margin-top: 20px; + padding-left: 30px; + padding-right: 30px +} + +.scale-section-item pre { + border-color: transparent +} + +.scale-section-item .scale-question-name { + font-weight: bold; + padding-top: 10px; + border-top: dashed 1px #eee +} + +#navbar-scale li label { + display: block; + padding: 5px 15px +} + +.flags-buttons { + display: flex; + flex-direction: row; + justify-content: space-between; + flex-wrap: wrap +} + +.flags-buttons label.btn { + margin: 0.5em 1em; + color: white; + text-decoration: none; + flex-grow: 1; + border-radius: 4px !important +} + +#scale_team_flag_ok:checked+.label_flag_ok, +.label_flag_ok.active { + color: #5cb85c +} + +#scale_team_flag_norme:checked+.label_flag_norme, +.label_flag_norme.active { + color: #D8636F +} + +#scale_team_flag_no_author_file:checked+.label_flag_no_author_file, +.label_flag_no_author_file.active { + color: #D8636F +} + +#scale_team_flag_incomplete_work:checked+.label_flag_incomplete_work, +.label_flag_incomplete_work.active { + color: #D8636F +} + +#scale_team_flag_empty_work:checked+.label_flag_empty_work, +.label_flag_empty_work.active { + color: #D8636F +} + +#scale_team_flag_invalid_compilation:checked+.label_flag_invalid_compilation, +.label_flag_invalid_compilation.active { + color: #D8636F +} + +#scale_team_flag_cheat:checked+.label_flag_cheat, +.label_flag_cheat.active { + color: #D8636F +} + +#scale_team_flag_crash:checked+.label_flag_crash, +.label_flag_crash.active { + color: #D8636F +} + +.scale-final-evaluation .col-sm-10 { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center +} + +.scale-final-evaluation .col-sm-10 .radio { + flex-grow: 1; + -ms-flex-positive: 1 +} + +.scale-final-evaluation .col-sm-10 .radio label input { + display: none +} + +.row>.add-padding { + padding-bottom: 250px +} + +.form-group.session_user span.twitter-typeahead { + width: 100% +} + +.form-group.session_user .form-typeahead { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s +} + +.table-list { + list-style-type: none +} + +.table-list .table-list--header { + margin-bottom: 0px; + border-bottom: solid 1px #e5e5e5 +} + +.table-list ul.table-list--list { + padding: 0px !important +} + +.table-list li.table-item { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: start; + -ms-align-items: flex-start; + -o-align-items: flex-start; + align-items: flex-start; + -ms-flex-align: start; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + flex-wrap: wrap +} + +.table-list li.table-item:hover { + background-color: #f2f2f2 +} + +.table-list li.table-item span { + flex-basis: 100px; + -ms-flex-preferred-size: 100px; + text-overflow: ellipsis; + overflow: hidden +} + +li.scaleteam-list-item { + border-bottom: solid 1px #eee; + padding: 20px +} + +li.scaleteam-list-item .header { + box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + margin-bottom: 10px +} + +li.scaleteam-list-item .header code.rating { + font-weight: normal +} + +li.scaleteam-list-item .feedback, +li.scaleteam-list-item .final-mark { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: start; + -ms-align-items: flex-start; + -o-align-items: flex-start; + align-items: flex-start; + -ms-flex-align: start; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: start; + -ms-justify-content: flex-start; + -o-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + flex-basis: 100%; + -ms-flex-preferred-size: 100% +} + +li.scaleteam-list-item .comment { + margin-bottom: 10px +} + +li.scaleteam-list-item .rating { + color: #D8636F; + background: #f2c9cd; + border-radius: 4px; + text-align: center; + margin-right: 10px; + min-width: 25px; + box-flex: 0; + -ms-flex: 0 0 40px; + flex: 0 0 40px +} + +li.scaleteam-list-item .rating[data-positive] { + color: #00babc; + background: rgba(0, 186, 188, 0.15) +} + +li.scaleteam-list-item .tooltip.top .tooltip-arrow { + border-top-color: #202026 +} + +li.scaleteam-list-item .tooltip { + border-radius: 4px +} + +li.scaleteam-list-item .tooltip-inner { + padding-left: 15px; + padding-right: 15px; + border-radius: 4px; + color: #eee; + background-color: #202026; + white-space: pre-wrap; + text-align: left +} + +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle +} + +.select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; +} + +.select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap +} + +.select2-container .select2-selection--single .select2-selection__clear { + position: relative +} + +.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px +} + +.select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; +} + +.select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap +} + +.select2-container .select2-search--inline { + float: left +} + +.select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0 +} + +.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {} + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051 +} + +.select2-results { + display: block +} + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0 +} + +.select2-results__option { + padding: 6px; + user-select: none; +} + +.select2-results__option[aria-selected] { + cursor: pointer +} + +.select2-container--open .select2-dropdown { + left: 0 +} + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0 +} + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.select2-search--dropdown { + display: block; + padding: 4px +} + +.select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box +} + +.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {} + +.select2-search--dropdown.select2-search--hide { + display: none +} + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0) +} + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important +} + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px +} + +.select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px +} + +.select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold +} + +.select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999 +} + +.select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px +} + +.select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0 +} + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left +} + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto +} + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default +} + +.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none +} + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px +} + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text +} + +.select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100% +} + +.select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none +} + +.select2-container--default .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left +} + +.select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px +} + +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px +} + +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px +} + +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333 +} + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right +} + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto +} + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto +} + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0 +} + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default +} + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none +} + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, +.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, +.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0 +} + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa +} + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; +} + +.select2-container--default .select2-results>.select2-results__options { + max-height: 200px; + overflow-y: auto +} + +.select2-container--default .select2-results__option[role=group] { + padding: 0 +} + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999 +} + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd +} + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em +} + +.select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0 +} + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em +} + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em +} + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em +} + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em +} + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em +} + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white +} + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px +} + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, #fff 50%, #eee 100%); + background-image: -o-linear-gradient(top, #fff 50%, #eee 100%); + background-image: linear-gradient(to bottom, #fff 50%, #eee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0) +} + +.select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb +} + +.select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px +} + +.select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px +} + +.select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999 +} + +.select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eee 50%, #ccc 100%); + background-image: -o-linear-gradient(top, #eee 50%, #ccc 100%); + background-image: linear-gradient(to bottom, #eee 50%, #ccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0) +} + +.select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0 +} + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left +} + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto +} + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb +} + +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none +} + +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px +} + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, #fff 0%, #eee 50%); + background-image: -o-linear-gradient(top, #fff 0%, #eee 50%); + background-image: linear-gradient(to bottom, #fff 0%, #eee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0) +} + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eee 50%, #fff 100%); + background-image: -o-linear-gradient(top, #eee 50%, #fff 100%); + background-image: linear-gradient(to bottom, #eee 50%, #fff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0) +} + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0 +} + +.select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb +} + +.select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px +} + +.select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none +} + +.select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px +} + +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px +} + +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555 +} + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right +} + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto +} + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto +} + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb +} + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0 +} + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0 +} + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none +} + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent +} + +.select2-container--classic .select2-dropdown--above { + border-bottom: none +} + +.select2-container--classic .select2-dropdown--below { + border-top: none +} + +.select2-container--classic .select2-results>.select2-results__options { + max-height: 200px; + overflow-y: auto +} + +.select2-container--classic .select2-results__option[role=group] { + padding: 0 +} + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey +} + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white +} + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px +} + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb +} + +.CodeMirror { + color: #000 +} + +.CodeMirror-lines { + padding: 4px 0 +} + +.CodeMirror pre { + padding: 0 4px +} + +.CodeMirror-gutter-filler, +.CodeMirror-scrollbar-filler { + background-color: #fff +} + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap +} + +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap +} + +.CodeMirror-guttermarker { + color: #000 +} + +.CodeMirror-guttermarker-subtle { + color: #999 +} + +.CodeMirror-cursor { + border-left: 1px solid #000; + border-right: none; + width: 0 +} + +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver +} + +.cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: #7e7 +} + +.cm-fat-cursor div.CodeMirror-cursors { + z-index: 1 +} + +.cm-animate-fat-cursor { + width: auto; + border: 0; + animation: blink 1.06s steps(1) infinite; + background-color: #7e7 +} + +@-moz-keyframes blink { + 50% { + background-color: transparent + } +} + +@-webkit-keyframes blink { + 50% { + background-color: transparent + } +} + +@keyframes blink { + 50% { + background-color: transparent + } +} + +.cm-tab { + display: inline-block; + text-decoration: inherit +} + +.CodeMirror-ruler { + border-left: 1px solid #ccc; + position: absolute +} + +.cm-s-default .cm-header { + color: #00f +} + +.cm-s-default .cm-quote { + color: #090 +} + +.cm-negative { + color: #d44 +} + +.cm-positive { + color: #292 +} + +.cm-header, +.cm-strong { + font-weight: 700 +} + +.cm-em { + font-style: italic +} + +.cm-link { + text-decoration: underline +} + +.cm-strikethrough { + text-decoration: line-through +} + +.cm-s-default .cm-keyword { + color: #708 +} + +.cm-s-default .cm-atom { + color: #219 +} + +.cm-s-default .cm-number { + color: #164 +} + +.cm-s-default .cm-def { + color: #00f +} + +.cm-s-default .cm-variable-2 { + color: #05a +} + +.cm-s-default .cm-variable-3 { + color: #085 +} + +.cm-s-default .cm-comment { + color: #a50 +} + +.cm-s-default .cm-string { + color: #a11 +} + +.cm-s-default .cm-string-2 { + color: #f50 +} + +.cm-s-default .cm-meta, +.cm-s-default .cm-qualifier { + color: #555 +} + +.cm-s-default .cm-builtin { + color: #30a +} + +.cm-s-default .cm-bracket { + color: #997 +} + +.cm-s-default .cm-tag { + color: #170 +} + +.cm-s-default .cm-attribute { + color: #00c +} + +.cm-s-default .cm-hr { + color: #999 +} + +.cm-s-default .cm-link { + color: #00c +} + +.cm-invalidchar, +.cm-s-default .cm-error { + color: red +} + +.CodeMirror-composing { + border-bottom: 2px solid +} + +div.CodeMirror span.CodeMirror-matchingbracket { + color: #0f0 +} + +div.CodeMirror span.CodeMirror-nonmatchingbracket { + color: #f22 +} + +.CodeMirror-matchingtag { + background: rgba(255, 150, 0, 0.3) +} + +.CodeMirror-activeline-background { + background: #e8f2ff +} + +.CodeMirror { + position: relative; + overflow: hidden; + background: #fff +} + +.CodeMirror-scroll { + overflow: scroll !important; + margin-bottom: -30px; + margin-right: -30px; + padding-bottom: 30px; + height: 100%; + outline: 0; + position: relative +} + +.CodeMirror-sizer { + position: relative; + border-right: 30px solid transparent +} + +.CodeMirror-gutter-filler, +.CodeMirror-hscrollbar, +.CodeMirror-scrollbar-filler, +.CodeMirror-vscrollbar { + position: absolute; + z-index: 6; + display: none +} + +.CodeMirror-vscrollbar { + right: 0; + top: 0; + overflow-x: hidden; + overflow-y: scroll +} + +.CodeMirror-hscrollbar { + bottom: 0; + left: 0; + overflow-y: hidden; + overflow-x: scroll +} + +.CodeMirror-scrollbar-filler { + right: 0; + bottom: 0 +} + +.CodeMirror-gutter-filler { + left: 0; + bottom: 0 +} + +.CodeMirror-gutters { + position: absolute; + left: 0; + top: 0; + min-height: 100%; + z-index: 3 +} + +.CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -30px +} + +.CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: 0 0 !important; + border: none !important; + user-select: none +} + +.CodeMirror-gutter-background { + position: absolute; + top: 0; + bottom: 0; + z-index: 4 +} + +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4 +} + +.CodeMirror-lines { + cursor: text; + min-height: 1px +} + +.CodeMirror pre { + border-radius: 0; + border-width: 0; + background: 0 0; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + font-variant-ligatures: none +} + +.CodeMirror-wrap pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal +} + +.CodeMirror-linebackground { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 0 +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + overflow: auto +} + +.CodeMirror-code { + outline: 0 +} + +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber, +.CodeMirror-scroll, +.CodeMirror-sizer { + box-sizing: content-box +} + +.CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden +} + +.CodeMirror-cursor { + position: absolute +} + +.CodeMirror-measure pre { + position: static +} + +div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3 +} + +.CodeMirror-focused div.CodeMirror-cursors, +div.CodeMirror-dragcursors { + visibility: visible +} + +.CodeMirror-selected { + background: #d9d9d9 +} + +.CodeMirror-focused .CodeMirror-selected, +.CodeMirror-line::selection, +.CodeMirror-line>span::selection, +.CodeMirror-line>span>span::selection { + background: #d7d4f0 +} + +.CodeMirror-crosshair { + cursor: crosshair +} + +.CodeMirror-line::-moz-selection, +.CodeMirror-line>span::-moz-selection, +.CodeMirror-line>span>span::-moz-selection { + background: #d7d4f0 +} + +.cm-searching { + background: #ffa; + background: rgba(255, 255, 0, 0.4) +} + +.cm-force-border { + padding-right: .1px +} + +@media print { + .CodeMirror div.CodeMirror-cursors { + visibility: hidden + } +} + +.cm-tab-wrap-hack:after { + content: '' +} + +span.CodeMirror-selectedtext { + background: 0 0 +} + +.CodeMirror { + height: auto; + min-height: 300px; + border: 1px solid #ddd; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + padding: 10px; + font: inherit; + z-index: 1 +} + +.CodeMirror-scroll { + min-height: 300px +} + +.CodeMirror-fullscreen { + background: #fff; + position: fixed !important; + top: 50px; + left: 0; + right: 0; + bottom: 0; + height: auto; + z-index: 9 +} + +.CodeMirror-sided { + width: 50% !important +} + +.editor-toolbar { + position: relative; + opacity: .6; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + padding: 0 10px; + border-top: 1px solid #bbb; + border-left: 1px solid #bbb; + border-right: 1px solid #bbb; + border-top-left-radius: 4px; + border-top-right-radius: 4px +} + +.editor-toolbar:after, +.editor-toolbar:before { + display: block; + content: ' '; + height: 1px +} + +.editor-toolbar:before { + margin-bottom: 8px +} + +.editor-toolbar:after { + margin-top: 8px +} + +.editor-toolbar:hover, +.editor-wrapper input.title:focus, +.editor-wrapper input.title:hover { + opacity: .8 +} + +.editor-toolbar.fullscreen { + width: 100%; + height: 50px; + overflow-x: auto; + overflow-y: hidden; + white-space: nowrap; + padding-top: 10px; + padding-bottom: 10px; + box-sizing: border-box; + background: #fff; + border: 0; + position: fixed; + top: 0; + left: 0; + opacity: 1; + z-index: 9 +} + +.editor-toolbar.fullscreen::before { + width: 20px; + height: 50px; + background: -moz-linear-gradient(left, #fff 0, rgba(255, 255, 255, 0) 100%); + background: -webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(100%, rgba(255, 255, 255, 0))); + background: -webkit-linear-gradient(left, #fff 0, rgba(255, 255, 255, 0) 100%); + background: -o-linear-gradient(left, #fff 0, rgba(255, 255, 255, 0) 100%); + background: -ms-linear-gradient(left, #fff 0, rgba(255, 255, 255, 0) 100%); + background: linear-gradient(to right, #fff 0, rgba(255, 255, 255, 0) 100%); + position: fixed; + top: 0; + left: 0; + margin: 0; + padding: 0 +} + +.editor-toolbar.fullscreen::after { + width: 20px; + height: 50px; + background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0, #fff 100%); + background: -webkit-gradient(linear, left top, right top, color-stop(0, rgba(255, 255, 255, 0)), color-stop(100%, #fff)); + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0, #fff 100%); + background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0, #fff 100%); + background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0, #fff 100%); + background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, #fff 100%); + position: fixed; + top: 0; + right: 0; + margin: 0; + padding: 0 +} + +.editor-toolbar a { + display: inline-block; + text-align: center; + text-decoration: none !important; + color: #2c3e50 !important; + width: 30px; + height: 30px; + margin: 0; + border: 1px solid transparent; + border-radius: 3px; + cursor: pointer +} + +.editor-toolbar a.active, +.editor-toolbar a:hover { + background: #fcfcfc; + border-color: #95a5a6 +} + +.editor-toolbar a:before { + line-height: 30px +} + +.editor-toolbar i.separator { + display: inline-block; + width: 0; + border-left: 1px solid #d9d9d9; + border-right: 1px solid #fff; + color: transparent; + text-indent: -10px; + margin: 0 6px +} + +.editor-toolbar a.fa-header-x:after { + font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; + font-size: 65%; + vertical-align: text-bottom; + position: relative; + top: 2px +} + +.editor-toolbar a.fa-header-1:after { + content: "1" +} + +.editor-toolbar a.fa-header-2:after { + content: "2" +} + +.editor-toolbar a.fa-header-3:after { + content: "3" +} + +.editor-toolbar a.fa-header-bigger:after { + content: "▲" +} + +.editor-toolbar a.fa-header-smaller:after { + content: "▼" +} + +.editor-toolbar.disabled-for-preview a:not(.no-disable) { + pointer-events: none; + background: #fff; + border-color: transparent; + text-shadow: inherit +} + +@media only screen and (max-width: 700px) { + .editor-toolbar a.no-mobile { + display: none + } +} + +.editor-statusbar { + padding: 8px 10px; + font-size: 12px; + color: #959694; + text-align: right +} + +.editor-statusbar span { + display: inline-block; + min-width: 4em; + margin-left: 1em +} + +.editor-preview, +.editor-preview-side { + padding: 10px; + background: #fafafa; + overflow: auto; + display: none; + box-sizing: border-box +} + +.editor-statusbar .lines:before { + content: 'lines: ' +} + +.editor-statusbar .words:before { + content: 'words: ' +} + +.editor-statusbar .characters:before { + content: 'characters: ' +} + +.editor-preview { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 7 +} + +.editor-preview-side { + position: fixed; + bottom: 0; + width: 50%; + top: 50px; + right: 0; + z-index: 9; + border: 1px solid #ddd +} + +.editor-preview-active, +.editor-preview-active-side { + display: block +} + +.editor-preview-side>p, +.editor-preview>p { + margin-top: 0 +} + +.editor-preview pre, +.editor-preview-side pre { + background: #eee; + margin-bottom: 10px +} + +.editor-preview table td, +.editor-preview table th, +.editor-preview-side table td, +.editor-preview-side table th { + border: 1px solid #ddd; + padding: 5px +} + +.CodeMirror .CodeMirror-code .cm-tag { + color: #63a35c +} + +.CodeMirror .CodeMirror-code .cm-attribute { + color: #795da3 +} + +.CodeMirror .CodeMirror-code .cm-string { + color: #183691 +} + +.CodeMirror .CodeMirror-selected { + background: #d9d9d9 +} + +.CodeMirror .CodeMirror-code .cm-header-1 { + font-size: 200%; + line-height: 200% +} + +.CodeMirror .CodeMirror-code .cm-header-2 { + font-size: 160%; + line-height: 160% +} + +.CodeMirror .CodeMirror-code .cm-header-3 { + font-size: 125%; + line-height: 125% +} + +.CodeMirror .CodeMirror-code .cm-header-4 { + font-size: 110%; + line-height: 110% +} + +.CodeMirror .CodeMirror-code .cm-comment { + background: rgba(0, 0, 0, 0.05); + border-radius: 2px +} + +.CodeMirror .CodeMirror-code .cm-link { + color: #7f8c8d +} + +.CodeMirror .CodeMirror-code .cm-url { + color: #aab2b3 +} + +.CodeMirror .CodeMirror-code .cm-strikethrough { + text-decoration: line-through +} + +.CodeMirror .CodeMirror-placeholder { + opacity: .5 +} + +.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word) { + background: rgba(255, 0, 0, 0.15) +} + +.feedback-item { + border-top: 1px solid rgba(0, 0, 0, 0.025) +} + +.feedback-comment-item { + padding: 10px; + background-color: #f7f7f7; + border-radius: 3px; + margin: 5px 0; + word-break: break-all +} + +.feedback-comment-item .feedback-comment-body { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + box-align: stretch; + -ms-align-items: stretch; + -o-align-items: stretch; + align-items: stretch; + -ms-flex-align: stretch; + box-orient: horizontal; + box-direction: normal; + flex-direction: row; + -ms-flex-direction: row; + box-pack: justify; + -ms-justify-content: space-between; + -o-justify-content: space-between; + justify-content: space-between; + -ms-flex-pack: justify; + border-top: solid 1px #e6e6e6; + margin-top: 10px; + padding-top: 10px +} + +.feedback-comment { + word-wrap: break-word; + word-break: break-word; + display: block; + font-style: oblique; + color: #35353b +} + +/*! +* Font Awesome 4.7.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("/assets/fontawesome-webfont-9f8288933d2c87ab3cdbdbda5c9fa1e1e139b01c7c1d1983f91a13be85173975.eot"); + src: url("/assets/fontawesome-webfont-9f8288933d2c87ab3cdbdbda5c9fa1e1e139b01c7c1d1983f91a13be85173975.eot?#iefix") format("embedded-opentype"), url("/assets/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2") format("woff2"), url("/assets/fontawesome-webfont-66db52b456efe7e29cec11fa09421d03cb09e37ed1b567307ec0444fd605ce31.woff") format("woff"), url("/assets/fontawesome-webfont-c2a9333b008247abd42354df966498b4c2f1aa51a10b7e178a4f5df2edea4ce1.ttf") format("truetype"), url("/assets/fontawesome-webfont-4f1f9ffe01469bbd03b254ec563c304dd92276514110364148cb7ffdd75d3297.svg#fontawesomeregular") format("svg"); + font-weight: normal; + font-style: normal +} + +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; +} + +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15% +} + +.fa-2x { + font-size: 2em +} + +.fa-3x { + font-size: 3em +} + +.fa-4x { + font-size: 4em +} + +.fa-5x { + font-size: 5em +} + +.fa-fw { + width: 1.28571429em; + text-align: center +} + +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none +} + +.fa-ul>li { + position: relative +} + +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center +} + +.fa-li.fa-lg { + left: -1.85714286em +} + +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em +} + +.fa-pull-left { + float: left +} + +.fa-pull-right { + float: right +} + +.fa.fa-pull-left { + margin-right: .3em +} + +.fa.fa-pull-right { + margin-left: .3em +} + +.pull-right { + float: right +} + +.pull-left { + float: left +} + +.fa.pull-left { + margin-right: .3em +} + +.fa.pull-right { + margin-left: .3em +} + +.fa-spin { + animation: fa-spin 2s infinite linear +} + +.fa-pulse { + animation: fa-spin 1s infinite steps(8) +} + +@-webkit-keyframes fa-spin { + 0% { + transform: rotate(0deg) + } + + 100% { + transform: rotate(359deg) + } +} + +@keyframes fa-spin { + 0% { + transform: rotate(0deg) + } + + 100% { + transform: rotate(359deg) + } +} + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -ms-transform: rotate(90deg); + transform: rotate(90deg) +} + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -ms-transform: rotate(180deg); + transform: rotate(180deg) +} + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -ms-transform: rotate(270deg); + transform: rotate(270deg) +} + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -ms-transform: scale(-1, 1); + transform: scale(-1, 1) +} + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -ms-transform: scale(1, -1); + transform: scale(1, -1) +} + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none +} + +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle +} + +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center +} + +.fa-stack-1x { + line-height: inherit +} + +.fa-stack-2x { + font-size: 2em +} + +.fa-inverse { + color: #ffffff +} + +.fa-glass:before { + content: "\f000" +} + +.fa-music:before { + content: "\f001" +} + +.fa-search:before { + content: "\f002" +} + +.fa-envelope-o:before { + content: "\f003" +} + +.fa-heart:before { + content: "\f004" +} + +.fa-star:before { + content: "\f005" +} + +.fa-star-o:before { + content: "\f006" +} + +.fa-user:before { + content: "\f007" +} + +.fa-film:before { + content: "\f008" +} + +.fa-th-large:before { + content: "\f009" +} + +.fa-th:before { + content: "\f00a" +} + +.fa-th-list:before { + content: "\f00b" +} + +.fa-check:before { + content: "\f00c" +} + +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d" +} + +.fa-search-plus:before { + content: "\f00e" +} + +.fa-search-minus:before { + content: "\f010" +} + +.fa-power-off:before { + content: "\f011" +} + +.fa-signal:before { + content: "\f012" +} + +.fa-gear:before, +.fa-cog:before { + content: "\f013" +} + +.fa-trash-o:before { + content: "\f014" +} + +.fa-home:before { + content: "\f015" +} + +.fa-file-o:before { + content: "\f016" +} + +.fa-clock-o:before { + content: "\f017" +} + +.fa-road:before { + content: "\f018" +} + +.fa-download:before { + content: "\f019" +} + +.fa-arrow-circle-o-down:before { + content: "\f01a" +} + +.fa-arrow-circle-o-up:before { + content: "\f01b" +} + +.fa-inbox:before { + content: "\f01c" +} + +.fa-play-circle-o:before { + content: "\f01d" +} + +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e" +} + +.fa-refresh:before { + content: "\f021" +} + +.fa-list-alt:before { + content: "\f022" +} + +.fa-lock:before { + content: "\f023" +} + +.fa-flag:before { + content: "\f024" +} + +.fa-headphones:before { + content: "\f025" +} + +.fa-volume-off:before { + content: "\f026" +} + +.fa-volume-down:before { + content: "\f027" +} + +.fa-volume-up:before { + content: "\f028" +} + +.fa-qrcode:before { + content: "\f029" +} + +.fa-barcode:before { + content: "\f02a" +} + +.fa-tag:before { + content: "\f02b" +} + +.fa-tags:before { + content: "\f02c" +} + +.fa-book:before { + content: "\f02d" +} + +.fa-bookmark:before { + content: "\f02e" +} + +.fa-print:before { + content: "\f02f" +} + +.fa-camera:before { + content: "\f030" +} + +.fa-font:before { + content: "\f031" +} + +.fa-bold:before { + content: "\f032" +} + +.fa-italic:before { + content: "\f033" +} + +.fa-text-height:before { + content: "\f034" +} + +.fa-text-width:before { + content: "\f035" +} + +.fa-align-left:before { + content: "\f036" +} + +.fa-align-center:before { + content: "\f037" +} + +.fa-align-right:before { + content: "\f038" +} + +.fa-align-justify:before { + content: "\f039" +} + +.fa-list:before { + content: "\f03a" +} + +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b" +} + +.fa-indent:before { + content: "\f03c" +} + +.fa-video-camera:before { + content: "\f03d" +} + +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e" +} + +.fa-pencil:before { + content: "\f040" +} + +.fa-map-marker:before { + content: "\f041" +} + +.fa-adjust:before { + content: "\f042" +} + +.fa-tint:before { + content: "\f043" +} + +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044" +} + +.fa-share-square-o:before { + content: "\f045" +} + +.fa-check-square-o:before { + content: "\f046" +} + +.fa-arrows:before { + content: "\f047" +} + +.fa-step-backward:before { + content: "\f048" +} + +.fa-fast-backward:before { + content: "\f049" +} + +.fa-backward:before { + content: "\f04a" +} + +.fa-play:before { + content: "\f04b" +} + +.fa-pause:before { + content: "\f04c" +} + +.fa-stop:before { + content: "\f04d" +} + +.fa-forward:before { + content: "\f04e" +} + +.fa-fast-forward:before { + content: "\f050" +} + +.fa-step-forward:before { + content: "\f051" +} + +.fa-eject:before { + content: "\f052" +} + +.fa-chevron-left:before { + content: "\f053" +} + +.fa-chevron-right:before { + content: "\f054" +} + +.fa-plus-circle:before { + content: "\f055" +} + +.fa-minus-circle:before { + content: "\f056" +} + +.fa-times-circle:before { + content: "\f057" +} + +.fa-check-circle:before { + content: "\f058" +} + +.fa-question-circle:before { + content: "\f059" +} + +.fa-info-circle:before { + content: "\f05a" +} + +.fa-crosshairs:before { + content: "\f05b" +} + +.fa-times-circle-o:before { + content: "\f05c" +} + +.fa-check-circle-o:before { + content: "\f05d" +} + +.fa-ban:before { + content: "\f05e" +} + +.fa-arrow-left:before { + content: "\f060" +} + +.fa-arrow-right:before { + content: "\f061" +} + +.fa-arrow-up:before { + content: "\f062" +} + +.fa-arrow-down:before { + content: "\f063" +} + +.fa-mail-forward:before, +.fa-share:before { + content: "\f064" +} + +.fa-expand:before { + content: "\f065" +} + +.fa-compress:before { + content: "\f066" +} + +.fa-plus:before { + content: "\f067" +} + +.fa-minus:before { + content: "\f068" +} + +.fa-asterisk:before { + content: "\f069" +} + +.fa-exclamation-circle:before { + content: "\f06a" +} + +.fa-gift:before { + content: "\f06b" +} + +.fa-leaf:before { + content: "\f06c" +} + +.fa-fire:before { + content: "\f06d" +} + +.fa-eye:before { + content: "\f06e" +} + +.fa-eye-slash:before { + content: "\f070" +} + +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071" +} + +.fa-plane:before { + content: "\f072" +} + +.fa-calendar:before { + content: "\f073" +} + +.fa-random:before { + content: "\f074" +} + +.fa-comment:before { + content: "\f075" +} + +.fa-magnet:before { + content: "\f076" +} + +.fa-chevron-up:before { + content: "\f077" +} + +.fa-chevron-down:before { + content: "\f078" +} + +.fa-retweet:before { + content: "\f079" +} + +.fa-shopping-cart:before { + content: "\f07a" +} + +.fa-folder:before { + content: "\f07b" +} + +.fa-folder-open:before { + content: "\f07c" +} + +.fa-arrows-v:before { + content: "\f07d" +} + +.fa-arrows-h:before { + content: "\f07e" +} + +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080" +} + +.fa-twitter-square:before { + content: "\f081" +} + +.fa-facebook-square:before { + content: "\f082" +} + +.fa-camera-retro:before { + content: "\f083" +} + +.fa-key:before { + content: "\f084" +} + +.fa-gears:before, +.fa-cogs:before { + content: "\f085" +} + +.fa-comments:before { + content: "\f086" +} + +.fa-thumbs-o-up:before { + content: "\f087" +} + +.fa-thumbs-o-down:before { + content: "\f088" +} + +.fa-star-half:before { + content: "\f089" +} + +.fa-heart-o:before { + content: "\f08a" +} + +.fa-sign-out:before { + content: "\f08b" +} + +.fa-linkedin-square:before { + content: "\f08c" +} + +.fa-thumb-tack:before { + content: "\f08d" +} + +.fa-external-link:before { + content: "\f08e" +} + +.fa-sign-in:before { + content: "\f090" +} + +.fa-trophy:before { + content: "\f091" +} + +.fa-github-square:before { + content: "\f092" +} + +.fa-upload:before { + content: "\f093" +} + +.fa-lemon-o:before { + content: "\f094" +} + +.fa-phone:before { + content: "\f095" +} + +.fa-square-o:before { + content: "\f096" +} + +.fa-bookmark-o:before { + content: "\f097" +} + +.fa-phone-square:before { + content: "\f098" +} + +.fa-twitter:before { + content: "\f099" +} + +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a" +} + +.fa-github:before { + content: "\f09b" +} + +.fa-unlock:before { + content: "\f09c" +} + +.fa-credit-card:before { + content: "\f09d" +} + +.fa-feed:before, +.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, +.fa-gratipay: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-pp:before { + content: "\f1a7" +} + +.fa-pied-piper-alt:before { + content: "\f1a8" +} + +.fa-drupal:before { + content: "\f1a9" +} + +.fa-joomla:before { + content: "\f1aa" +} + +.fa-language:before { + content: "\f1ab" +} + +.fa-fax:before { + content: "\f1ac" +} + +.fa-building:before { + content: "\f1ad" +} + +.fa-child:before { + content: "\f1ae" +} + +.fa-paw:before { + content: "\f1b0" +} + +.fa-spoon:before { + content: "\f1b1" +} + +.fa-cube:before { + content: "\f1b2" +} + +.fa-cubes:before { + content: "\f1b3" +} + +.fa-behance:before { + content: "\f1b4" +} + +.fa-behance-square:before { + content: "\f1b5" +} + +.fa-steam:before { + content: "\f1b6" +} + +.fa-steam-square:before { + content: "\f1b7" +} + +.fa-recycle:before { + content: "\f1b8" +} + +.fa-automobile:before, +.fa-car:before { + content: "\f1b9" +} + +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba" +} + +.fa-tree:before { + content: "\f1bb" +} + +.fa-spotify:before { + content: "\f1bc" +} + +.fa-deviantart:before { + content: "\f1bd" +} + +.fa-soundcloud:before { + content: "\f1be" +} + +.fa-database:before { + content: "\f1c0" +} + +.fa-file-pdf-o:before { + content: "\f1c1" +} + +.fa-file-word-o:before { + content: "\f1c2" +} + +.fa-file-excel-o:before { + content: "\f1c3" +} + +.fa-file-powerpoint-o:before { + content: "\f1c4" +} + +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5" +} + +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6" +} + +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7" +} + +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8" +} + +.fa-file-code-o:before { + content: "\f1c9" +} + +.fa-vine:before { + content: "\f1ca" +} + +.fa-codepen:before { + content: "\f1cb" +} + +.fa-jsfiddle:before { + content: "\f1cc" +} + +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd" +} + +.fa-circle-o-notch:before { + content: "\f1ce" +} + +.fa-ra:before, +.fa-resistance: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-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4" +} + +.fa-tencent-weibo:before { + content: "\f1d5" +} + +.fa-qq:before { + content: "\f1d6" +} + +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7" +} + +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8" +} + +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9" +} + +.fa-history:before { + content: "\f1da" +} + +.fa-circle-thin:before { + content: "\f1db" +} + +.fa-header:before { + content: "\f1dc" +} + +.fa-paragraph:before { + content: "\f1dd" +} + +.fa-sliders:before { + content: "\f1de" +} + +.fa-share-alt:before { + content: "\f1e0" +} + +.fa-share-alt-square:before { + content: "\f1e1" +} + +.fa-bomb:before { + content: "\f1e2" +} + +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3" +} + +.fa-tty:before { + content: "\f1e4" +} + +.fa-binoculars:before { + content: "\f1e5" +} + +.fa-plug:before { + content: "\f1e6" +} + +.fa-slideshare:before { + content: "\f1e7" +} + +.fa-twitch:before { + content: "\f1e8" +} + +.fa-yelp:before { + content: "\f1e9" +} + +.fa-newspaper-o:before { + content: "\f1ea" +} + +.fa-wifi:before { + content: "\f1eb" +} + +.fa-calculator:before { + content: "\f1ec" +} + +.fa-paypal:before { + content: "\f1ed" +} + +.fa-google-wallet:before { + content: "\f1ee" +} + +.fa-cc-visa:before { + content: "\f1f0" +} + +.fa-cc-mastercard:before { + content: "\f1f1" +} + +.fa-cc-discover:before { + content: "\f1f2" +} + +.fa-cc-amex:before { + content: "\f1f3" +} + +.fa-cc-paypal:before { + content: "\f1f4" +} + +.fa-cc-stripe:before { + content: "\f1f5" +} + +.fa-bell-slash:before { + content: "\f1f6" +} + +.fa-bell-slash-o:before { + content: "\f1f7" +} + +.fa-trash:before { + content: "\f1f8" +} + +.fa-copyright:before { + content: "\f1f9" +} + +.fa-at:before { + content: "\f1fa" +} + +.fa-eyedropper:before { + content: "\f1fb" +} + +.fa-paint-brush:before { + content: "\f1fc" +} + +.fa-birthday-cake:before { + content: "\f1fd" +} + +.fa-area-chart:before { + content: "\f1fe" +} + +.fa-pie-chart:before { + content: "\f200" +} + +.fa-line-chart:before { + content: "\f201" +} + +.fa-lastfm:before { + content: "\f202" +} + +.fa-lastfm-square:before { + content: "\f203" +} + +.fa-toggle-off:before { + content: "\f204" +} + +.fa-toggle-on:before { + content: "\f205" +} + +.fa-bicycle:before { + content: "\f206" +} + +.fa-bus:before { + content: "\f207" +} + +.fa-ioxhost:before { + content: "\f208" +} + +.fa-angellist:before { + content: "\f209" +} + +.fa-cc:before { + content: "\f20a" +} + +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b" +} + +.fa-meanpath:before { + content: "\f20c" +} + +.fa-buysellads:before { + content: "\f20d" +} + +.fa-connectdevelop:before { + content: "\f20e" +} + +.fa-dashcube:before { + content: "\f210" +} + +.fa-forumbee:before { + content: "\f211" +} + +.fa-leanpub:before { + content: "\f212" +} + +.fa-sellsy:before { + content: "\f213" +} + +.fa-shirtsinbulk:before { + content: "\f214" +} + +.fa-simplybuilt:before { + content: "\f215" +} + +.fa-skyatlas:before { + content: "\f216" +} + +.fa-cart-plus:before { + content: "\f217" +} + +.fa-cart-arrow-down:before { + content: "\f218" +} + +.fa-diamond:before { + content: "\f219" +} + +.fa-ship:before { + content: "\f21a" +} + +.fa-user-secret:before { + content: "\f21b" +} + +.fa-motorcycle:before { + content: "\f21c" +} + +.fa-street-view:before { + content: "\f21d" +} + +.fa-heartbeat:before { + content: "\f21e" +} + +.fa-venus:before { + content: "\f221" +} + +.fa-mars:before { + content: "\f222" +} + +.fa-mercury:before { + content: "\f223" +} + +.fa-intersex:before, +.fa-transgender:before { + content: "\f224" +} + +.fa-transgender-alt:before { + content: "\f225" +} + +.fa-venus-double:before { + content: "\f226" +} + +.fa-mars-double:before { + content: "\f227" +} + +.fa-venus-mars:before { + content: "\f228" +} + +.fa-mars-stroke:before { + content: "\f229" +} + +.fa-mars-stroke-v:before { + content: "\f22a" +} + +.fa-mars-stroke-h:before { + content: "\f22b" +} + +.fa-neuter:before { + content: "\f22c" +} + +.fa-genderless:before { + content: "\f22d" +} + +.fa-facebook-official:before { + content: "\f230" +} + +.fa-pinterest-p:before { + content: "\f231" +} + +.fa-whatsapp:before { + content: "\f232" +} + +.fa-server:before { + content: "\f233" +} + +.fa-user-plus:before { + content: "\f234" +} + +.fa-user-times:before { + content: "\f235" +} + +.fa-hotel:before, +.fa-bed:before { + content: "\f236" +} + +.fa-viacoin:before { + content: "\f237" +} + +.fa-train:before { + content: "\f238" +} + +.fa-subway:before { + content: "\f239" +} + +.fa-medium:before { + content: "\f23a" +} + +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b" +} + +.fa-optin-monster:before { + content: "\f23c" +} + +.fa-opencart:before { + content: "\f23d" +} + +.fa-expeditedssl:before { + content: "\f23e" +} + +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240" +} + +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241" +} + +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242" +} + +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243" +} + +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244" +} + +.fa-mouse-pointer:before { + content: "\f245" +} + +.fa-i-cursor:before { + content: "\f246" +} + +.fa-object-group:before { + content: "\f247" +} + +.fa-object-ungroup:before { + content: "\f248" +} + +.fa-sticky-note:before { + content: "\f249" +} + +.fa-sticky-note-o:before { + content: "\f24a" +} + +.fa-cc-jcb:before { + content: "\f24b" +} + +.fa-cc-diners-club:before { + content: "\f24c" +} + +.fa-clone:before { + content: "\f24d" +} + +.fa-balance-scale:before { + content: "\f24e" +} + +.fa-hourglass-o:before { + content: "\f250" +} + +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251" +} + +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252" +} + +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253" +} + +.fa-hourglass:before { + content: "\f254" +} + +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255" +} + +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256" +} + +.fa-hand-scissors-o:before { + content: "\f257" +} + +.fa-hand-lizard-o:before { + content: "\f258" +} + +.fa-hand-spock-o:before { + content: "\f259" +} + +.fa-hand-pointer-o:before { + content: "\f25a" +} + +.fa-hand-peace-o:before { + content: "\f25b" +} + +.fa-trademark:before { + content: "\f25c" +} + +.fa-registered:before { + content: "\f25d" +} + +.fa-creative-commons:before { + content: "\f25e" +} + +.fa-gg:before { + content: "\f260" +} + +.fa-gg-circle:before { + content: "\f261" +} + +.fa-tripadvisor:before { + content: "\f262" +} + +.fa-odnoklassniki:before { + content: "\f263" +} + +.fa-odnoklassniki-square:before { + content: "\f264" +} + +.fa-get-pocket:before { + content: "\f265" +} + +.fa-wikipedia-w:before { + content: "\f266" +} + +.fa-safari:before { + content: "\f267" +} + +.fa-chrome:before { + content: "\f268" +} + +.fa-firefox:before { + content: "\f269" +} + +.fa-opera:before { + content: "\f26a" +} + +.fa-internet-explorer:before { + content: "\f26b" +} + +.fa-tv:before, +.fa-television:before { + content: "\f26c" +} + +.fa-contao:before { + content: "\f26d" +} + +.fa-500px:before { + content: "\f26e" +} + +.fa-amazon:before { + content: "\f270" +} + +.fa-calendar-plus-o:before { + content: "\f271" +} + +.fa-calendar-minus-o:before { + content: "\f272" +} + +.fa-calendar-times-o:before { + content: "\f273" +} + +.fa-calendar-check-o:before { + content: "\f274" +} + +.fa-industry:before { + content: "\f275" +} + +.fa-map-pin:before { + content: "\f276" +} + +.fa-map-signs:before { + content: "\f277" +} + +.fa-map-o:before { + content: "\f278" +} + +.fa-map:before { + content: "\f279" +} + +.fa-commenting:before { + content: "\f27a" +} + +.fa-commenting-o:before { + content: "\f27b" +} + +.fa-houzz:before { + content: "\f27c" +} + +.fa-vimeo:before { + content: "\f27d" +} + +.fa-black-tie:before { + content: "\f27e" +} + +.fa-fonticons:before { + content: "\f280" +} + +.fa-reddit-alien:before { + content: "\f281" +} + +.fa-edge:before { + content: "\f282" +} + +.fa-credit-card-alt:before { + content: "\f283" +} + +.fa-codiepie:before { + content: "\f284" +} + +.fa-modx:before { + content: "\f285" +} + +.fa-fort-awesome:before { + content: "\f286" +} + +.fa-usb:before { + content: "\f287" +} + +.fa-product-hunt:before { + content: "\f288" +} + +.fa-mixcloud:before { + content: "\f289" +} + +.fa-scribd:before { + content: "\f28a" +} + +.fa-pause-circle:before { + content: "\f28b" +} + +.fa-pause-circle-o:before { + content: "\f28c" +} + +.fa-stop-circle:before { + content: "\f28d" +} + +.fa-stop-circle-o:before { + content: "\f28e" +} + +.fa-shopping-bag:before { + content: "\f290" +} + +.fa-shopping-basket:before { + content: "\f291" +} + +.fa-hashtag:before { + content: "\f292" +} + +.fa-bluetooth:before { + content: "\f293" +} + +.fa-bluetooth-b:before { + content: "\f294" +} + +.fa-percent:before { + content: "\f295" +} + +.fa-gitlab:before { + content: "\f296" +} + +.fa-wpbeginner:before { + content: "\f297" +} + +.fa-wpforms:before { + content: "\f298" +} + +.fa-envira:before { + content: "\f299" +} + +.fa-universal-access:before { + content: "\f29a" +} + +.fa-wheelchair-alt:before { + content: "\f29b" +} + +.fa-question-circle-o:before { + content: "\f29c" +} + +.fa-blind:before { + content: "\f29d" +} + +.fa-audio-description:before { + content: "\f29e" +} + +.fa-volume-control-phone:before { + content: "\f2a0" +} + +.fa-braille:before { + content: "\f2a1" +} + +.fa-assistive-listening-systems:before { + content: "\f2a2" +} + +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3" +} + +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4" +} + +.fa-glide:before { + content: "\f2a5" +} + +.fa-glide-g:before { + content: "\f2a6" +} + +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7" +} + +.fa-low-vision:before { + content: "\f2a8" +} + +.fa-viadeo:before { + content: "\f2a9" +} + +.fa-viadeo-square:before { + content: "\f2aa" +} + +.fa-snapchat:before { + content: "\f2ab" +} + +.fa-snapchat-ghost:before { + content: "\f2ac" +} + +.fa-snapchat-square:before { + content: "\f2ad" +} + +.fa-pied-piper:before { + content: "\f2ae" +} + +.fa-first-order:before { + content: "\f2b0" +} + +.fa-yoast:before { + content: "\f2b1" +} + +.fa-themeisle:before { + content: "\f2b2" +} + +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3" +} + +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4" +} + +.fa-handshake-o:before { + content: "\f2b5" +} + +.fa-envelope-open:before { + content: "\f2b6" +} + +.fa-envelope-open-o:before { + content: "\f2b7" +} + +.fa-linode:before { + content: "\f2b8" +} + +.fa-address-book:before { + content: "\f2b9" +} + +.fa-address-book-o:before { + content: "\f2ba" +} + +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb" +} + +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc" +} + +.fa-user-circle:before { + content: "\f2bd" +} + +.fa-user-circle-o:before { + content: "\f2be" +} + +.fa-user-o:before { + content: "\f2c0" +} + +.fa-id-badge:before { + content: "\f2c1" +} + +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2" +} + +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3" +} + +.fa-quora:before { + content: "\f2c4" +} + +.fa-free-code-camp:before { + content: "\f2c5" +} + +.fa-telegram:before { + content: "\f2c6" +} + +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7" +} + +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8" +} + +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9" +} + +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca" +} + +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb" +} + +.fa-shower:before { + content: "\f2cc" +} + +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd" +} + +.fa-podcast:before { + content: "\f2ce" +} + +.fa-window-maximize:before { + content: "\f2d0" +} + +.fa-window-minimize:before { + content: "\f2d1" +} + +.fa-window-restore:before { + content: "\f2d2" +} + +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3" +} + +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4" +} + +.fa-bandcamp:before { + content: "\f2d5" +} + +.fa-grav:before { + content: "\f2d6" +} + +.fa-etsy:before { + content: "\f2d7" +} + +.fa-imdb:before { + content: "\f2d8" +} + +.fa-ravelry:before { + content: "\f2d9" +} + +.fa-eercast:before { + content: "\f2da" +} + +.fa-microchip:before { + content: "\f2db" +} + +.fa-snowflake-o:before { + content: "\f2dc" +} + +.fa-superpowers:before { + content: "\f2dd" +} + +.fa-wpexplorer:before { + content: "\f2de" +} + +.fa-meetup:before { + content: "\f2e0" +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0 +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto +} + +#calendar { + max-width: 900px; + margin: 0 auto +} + +input[type=radio]:checked+label .icon-check { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/Yes-selected.png'); + background-size: contain; + background-repeat: no-repeat; +} + +input[type=radio]:not(:checked)+label .icon-times { + content: ""; + display: inline-block; + height: 15px; + width: 15px; + background-image: url('../assets/images/No-selected.png'); + background-size: contain; + background-repeat: no-repeat; +} + +.modal { + display: none; + position: fixed; + z-index: 1; + padding-top: 100px; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgba(0, 0, 0, 0.4); + transition: opacity 1s; +} + +.modal.show { + display: block; + opacity: 1; +} + +.modal-content { + background-color: #fefefe; + margin: auto; + padding: 20px; + border: 1px solid #888; + width: 80%; +} + +.modal.hide { + opacity: 0; + transition: opacity 0.5s; +} + +.close { + color: #aaaaaa; + float: right; + font-size: 28px; + font-weight: bold; +} + +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; +} + +.floating-btn { + position: fixed; + bottom: 30px; + right: 30px; + background: #24292E; + color: white; + padding: 20px 20px; + border-radius: 50%; + text-align: center; + text-decoration: none; + font-size: 15px; + transition: background 0.3s ease; + z-index: 100; +} + +.floating-btn:hover { + background: #404448; + color: aliceblue; +} + +.floating-btn:visited { + color: aliceblue; +} + +#backToProject { + position: fixed; + top: 30px; + left: 30px; + padding: 20px; + background-color: #4CAF50; + border: none; + color: white; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 16px; + margin: 4px 2px; + cursor: pointer; + border-radius: 12px; + z-index: 9999; +} + +.hover-text { + display: none; + position: absolute; + right: 60px; + bottom: 0; + background: #404448; + color: white; + padding: 5px; + border-radius: 5px; + white-space: nowrap; +} \ No newline at end of file diff --git a/src/42_evals/index.html b/src/42_evals/index.html new file mode 100755 index 0000000..931b1c6 --- /dev/null +++ b/src/42_evals/index.html @@ -0,0 +1,375 @@ + + + + + + + + Evaluation Sheets Hub 🎯 + + + + + + + + + Give this repository a star. + ⭐ +
+
+ +
+
+


+ + + + + + + + diff --git a/src/42_evals/js/js b/src/42_evals/js/js new file mode 100755 index 0000000..859ea1b --- /dev/null +++ b/src/42_evals/js/js @@ -0,0 +1,566 @@ + +// Copyright 2012 Google Inc. All rights reserved. + +(function(){ + +var data = { +"resource": { + "version":"1", + + "macros":[{"function":"__e"},{"function":"__c","vtp_value":"google.ch"},{"function":"__c","vtp_value":0},{"vtp_signal":0,"function":"__c","vtp_value":0}], + "tags":[{"function":"__gct","vtp_trackingId":"G-BJ34XNRJCV","vtp_sessionDuration":0,"tag_id":1},{"function":"__ccd_em_outbound_click","priority":0,"vtp_includeParams":true,"vtp_instanceDestinationId":"G-BJ34XNRJCV","tag_id":3},{"function":"__ccd_em_download","vtp_includeParams":true,"vtp_instanceDestinationId":"G-BJ34XNRJCV","tag_id":5},{"function":"__ccd_em_video","vtp_includeParams":true,"vtp_instanceDestinationId":"G-BJ34XNRJCV","tag_id":6},{"function":"__ccd_em_site_search","vtp_searchQueryParams":"q,s,search,query,keyword","vtp_includeParams":true,"vtp_instanceDestinationId":"G-BJ34XNRJCV","tag_id":7},{"function":"__ccd_em_scroll","vtp_includeParams":true,"vtp_instanceDestinationId":"G-BJ34XNRJCV","tag_id":8},{"function":"__ccd_em_page_view","vtp_historyEvents":true,"vtp_includeParams":true,"vtp_instanceDestinationId":"G-BJ34XNRJCV","tag_id":9},{"function":"__ccd_conversion_marking","vtp_conversionRules":["list",["map","matchingRules","{\"type\":5,\"args\":[{\"stringValue\":\"purchase\"},{\"contextValue\":{\"namespaceType\":1,\"keyParts\":[\"eventName\"]}}]}"]],"vtp_instanceDestinationId":"G-BJ34XNRJCV","tag_id":10},{"function":"__set_product_settings","vtp_instanceDestinationId":"G-BJ34XNRJCV","vtp_foreignTldMacroResult":["macro",1],"vtp_isChinaVipRegionMacroResult":["macro",2],"tag_id":11},{"function":"__ogt_google_signals","vtp_googleSignals":"DISABLED","vtp_instanceDestinationId":"G-BJ34XNRJCV","vtp_serverMacroResult":["macro",3],"tag_id":12}], + "predicates":[{"function":"_eq","arg0":["macro",0],"arg1":"gtm.js"},{"function":"_eq","arg0":["macro",0],"arg1":"gtm.init"}], + "rules":[[["if",0],["add",0]],[["if",1],["add",1,2,3,4,5,6,7,8,9]]] +}, +"runtime":[ [50,"__ccd_conversion_marking",[46,"a"],[22,[30,[28,[17,[15,"a"],"conversionRules"]],[20,[17,[17,[15,"a"],"conversionRules"],"length"],0]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"b",["require","internal.registerCcdCallback"]],[52,"c",[15,"__module_ccdConversionMarking"]],["b",[17,[15,"a"],"instanceDestinationId"],[51,"",[7,"d"],[2,[15,"c"],"callback",[7,[15,"d"],[15,"a"]]]]],[2,[15,"a"],"gtmOnSuccess",[7]],[36]] + ,[50,"__ccd_em_download",[46,"a"],[50,"r",[46,"x"],[36,[1,[15,"x"],[21,[2,[2,[15,"x"],"toLowerCase",[7]],"match",[7,[15,"q"]]],[45]]]]],[50,"s",[46,"x"],[52,"y",[2,[17,[15,"x"],"pathname"],"split",[7,"."]]],[52,"z",[39,[18,[17,[15,"y"],"length"],1],[16,[15,"y"],[37,[17,[15,"y"],"length"],1]],""]],[36,[16,[2,[15,"z"],"split",[7,"/"]],0]]],[50,"t",[46,"x"],[36,[39,[12,[2,[17,[15,"x"],"pathname"],"substring",[7,0,1]],"/"],[17,[15,"x"],"pathname"],[0,"/",[17,[15,"x"],"pathname"]]]]],[50,"u",[46,"x"],[41,"y"],[3,"y",""],[22,[1,[15,"x"],[17,[15,"x"],"href"]],[46,[53,[41,"z"],[3,"z",[2,[17,[15,"x"],"href"],"indexOf",[7,"#"]]],[3,"y",[39,[23,[15,"z"],0],[17,[15,"x"],"href"],[2,[17,[15,"x"],"href"],"substring",[7,0,[15,"z"]]]]]]]],[36,[15,"y"]]],[50,"w",[46,"x"],[52,"y",[8]],[43,[15,"y"],[15,"j"],true],[43,[15,"y"],[15,"f"],true],[43,[15,"x"],"eventMetadata",[15,"y"]]],[52,"b",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[52,"c",["require","internal.getProductSettingsParameter"]],[52,"d",["require","internal.registerCcdCallback"]],[52,"e",["require","templateStorage"]],[52,"f","speculative"],[52,"g","ae_block_downloads"],[52,"h","file_download"],[52,"i","isRegistered"],[52,"j","em_event"],[52,"k",[17,[15,"a"],"instanceDestinationId"]],[22,["c",[15,"k"],[15,"g"]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],["d",[15,"k"],[51,"",[7,"x"],[22,[30,[21,[2,[15,"x"],"getEventName",[7]],[15,"h"]],[28,[2,[15,"x"],"getMetadata",[7,[15,"j"]]]]],[46,[36]]],[22,["c",[15,"k"],[15,"g"]],[46,[2,[15,"x"],"abort",[7]],[36]]],[2,[15,"x"],"setMetadata",[7,[15,"f"],false]],[22,[28,[17,[15,"a"],"includeParams"]],[46,[2,[15,"x"],"setHitData",[7,"link_id",[44]]],[2,[15,"x"],"setHitData",[7,"link_url",[44]]],[2,[15,"x"],"setHitData",[7,"link_text",[44]]],[2,[15,"x"],"setHitData",[7,"file_name",[44]]],[2,[15,"x"],"setHitData",[7,"file_extension",[44]]]]]]],[22,[2,[15,"e"],"getItem",[7,[15,"i"]]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"l",["require","internal.addDataLayerEventListener"]],[52,"m",["require","internal.enableAutoEventOnLinkClick"]],[52,"n",["require","internal.getDestinationIds"]],[52,"o",["require","parseUrl"]],[52,"p",["require","internal.sendGtagEvent"]],[52,"q",[0,"^(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|","mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)$"]],[52,"v",["m",[8,"checkValidation",true]]],[22,[28,[15,"v"]],[46,[2,[15,"a"],"gtmOnFailure",[7]],[36]]],[2,[15,"e"],"setItem",[7,[15,"i"],true]],["l","gtm.linkClick",[51,"",[7,"x","y"],["y"],[52,"z",[8,"eventId",[16,[15,"x"],"gtm.uniqueEventId"]]],[22,[16,[15,"b"],"enableDeferAllEnhancedMeasurement"],[46,[43,[15,"z"],"deferrable",true]]],[52,"ba",[16,[15,"x"],"gtm.elementUrl"]],[52,"bb",["o",[15,"ba"]]],[22,[28,[15,"bb"]],[46,[36]]],[52,"bc",["s",[15,"bb"]]],[22,[28,["r",[15,"bc"]]],[46,[36]]],[52,"bd",[8,"link_id",[16,[15,"x"],"gtm.elementId"],"link_url",["u",[15,"bb"]],"link_text",[16,[15,"x"],"gtm.elementText"],"file_name",["t",[15,"bb"]],"file_extension",[15,"bc"]]],["w",[15,"z"]],["p",["n"],[15,"h"],[15,"bd"],[15,"z"]]],[15,"v"]],[2,[15,"a"],"gtmOnSuccess",[7]]] + ,[50,"__ccd_em_outbound_click",[46,"a"],[50,"s",[46,"y"],[22,[28,[15,"y"]],[46,[36,[44]]]],[41,"z"],[3,"z",""],[22,[1,[15,"y"],[17,[15,"y"],"href"]],[46,[53,[41,"ba"],[3,"ba",[2,[17,[15,"y"],"href"],"indexOf",[7,"#"]]],[3,"z",[39,[23,[15,"ba"],0],[17,[15,"y"],"href"],[2,[17,[15,"y"],"href"],"substring",[7,0,[15,"ba"]]]]]]]],[36,[15,"z"]]],[50,"t",[46,"y"],[22,[28,[15,"y"]],[46,[36,[44]]]],[41,"z"],[3,"z",[17,[15,"y"],"hostname"]],[52,"ba",[2,[15,"z"],"match",[7,"^www\\d*\\."]]],[22,[1,[15,"ba"],[16,[15,"ba"],0]],[46,[3,"z",[2,[15,"z"],"substring",[7,[17,[16,[15,"ba"],0],"length"]]]]]],[36,[15,"z"]]],[50,"u",[46,"y"],[22,[28,[15,"y"]],[46,[36,false]]],[52,"z",[2,[17,[15,"y"],"hostname"],"toLowerCase",[7]]],[41,"ba"],[3,"ba",[2,["t",["q",["p"]]],"toLowerCase",[7]]],[41,"bb"],[3,"bb",[37,[17,[15,"z"],"length"],[17,[15,"ba"],"length"]]],[22,[1,[18,[15,"bb"],0],[29,[2,[15,"ba"],"charAt",[7,0]],"."]],[46,[32,[15,"bb"],[3,"bb",[37,[15,"bb"],1]]],[3,"ba",[0,".",[15,"ba"]]]]],[22,[1,[19,[15,"bb"],0],[12,[2,[15,"z"],"indexOf",[7,[15,"ba"],[15,"bb"]]],[15,"bb"]]],[46,[36,false]]],[36,true]],[50,"x",[46,"y"],[52,"z",[8]],[43,[15,"z"],[15,"j"],true],[43,[15,"z"],[15,"f"],true],[43,[15,"y"],"eventMetadata",[15,"z"]]],[52,"b",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[52,"c",["require","internal.getProductSettingsParameter"]],[52,"d",["require","internal.registerCcdCallback"]],[52,"e",["require","templateStorage"]],[52,"f","speculative"],[52,"g","ae_block_outbound_click"],[52,"h","click"],[52,"i","isRegistered"],[52,"j","em_event"],[52,"k",[17,[15,"a"],"instanceDestinationId"]],[22,["c",[15,"k"],[15,"g"]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],["d",[15,"k"],[51,"",[7,"y"],[22,[30,[21,[2,[15,"y"],"getEventName",[7]],[15,"h"]],[28,[2,[15,"y"],"getMetadata",[7,[15,"j"]]]]],[46,[36]]],[22,["c",[15,"k"],[15,"g"]],[46,[2,[15,"y"],"abort",[7]],[36]]],[2,[15,"y"],"setMetadata",[7,[15,"f"],false]],[22,[28,[17,[15,"a"],"includeParams"]],[46,[2,[15,"y"],"setHitData",[7,"link_id",[44]]],[2,[15,"y"],"setHitData",[7,"link_classes",[44]]],[2,[15,"y"],"setHitData",[7,"link_url",[44]]],[2,[15,"y"],"setHitData",[7,"link_domain",[44]]],[2,[15,"y"],"setHitData",[7,"outbound",[44]]]]]]],[22,[2,[15,"e"],"getItem",[7,[15,"i"]]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"l",["require","internal.addDataLayerEventListener"]],[52,"m",["require","internal.enableAutoEventOnLinkClick"]],[52,"n",["require","internal.getDestinationIds"]],[52,"o",["require","internal.getRemoteConfigParameter"]],[52,"p",["require","getUrl"]],[52,"q",["require","parseUrl"]],[52,"r",["require","internal.sendGtagEvent"]],[52,"v",["o",[15,"k"],"cross_domain_conditions"]],[52,"w",["m",[8,"affiliateDomains",[15,"v"],"checkValidation",true,"waitForTags",false]]],[22,[28,[15,"w"]],[46,[2,[15,"a"],"gtmOnFailure",[7]],[36]]],[2,[15,"e"],"setItem",[7,[15,"i"],true]],["l","gtm.linkClick",[51,"",[7,"y","z"],[52,"ba",["q",[16,[15,"y"],"gtm.elementUrl"]]],[22,[28,["u",[15,"ba"]]],[46,["z"],[36]]],[52,"bb",[8,"link_id",[16,[15,"y"],"gtm.elementId"],"link_classes",[16,[15,"y"],"gtm.elementClasses"],"link_url",["s",[15,"ba"]],"link_domain",["t",[15,"ba"]],"outbound",true]],[43,[15,"bb"],"event_callback",[15,"z"]],[52,"bc",[8,"eventId",[16,[15,"y"],"gtm.uniqueEventId"]]],[22,[16,[15,"b"],"enableDeferAllEnhancedMeasurement"],[46,[43,[15,"bc"],"deferrable",true]]],["x",[15,"bc"]],["r",["n"],[15,"h"],[15,"bb"],[15,"bc"]]],[15,"w"]],[2,[15,"a"],"gtmOnSuccess",[7]]] + ,[50,"__ccd_em_page_view",[46,"a"],[50,"r",[46,"s"],[52,"t",[8]],[43,[15,"t"],[15,"k"],true],[43,[15,"t"],[15,"g"],true],[43,[15,"s"],"eventMetadata",[15,"t"]]],[22,[28,[17,[15,"a"],"historyEvents"]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"b",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[52,"c",["require","internal.getProductSettingsParameter"]],[52,"d",["require","internal.registerCcdCallback"]],[52,"e",["require","internal.setRemoteConfigParameter"]],[52,"f",["require","templateStorage"]],[52,"g","speculative"],[52,"h","ae_block_history"],[52,"i","page_view"],[52,"j","isRegistered"],[52,"k","em_event"],[52,"l",[17,[15,"a"],"instanceDestinationId"]],[22,["c",[15,"l"],[15,"h"]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],["d",[15,"l"],[51,"",[7,"s"],[22,[30,[21,[2,[15,"s"],"getEventName",[7]],[15,"i"]],[28,[2,[15,"s"],"getMetadata",[7,[15,"k"]]]]],[46,[36]]],[22,["c",[15,"l"],[15,"h"]],[46,[2,[15,"s"],"abort",[7]],[36]]],[2,[15,"s"],"setMetadata",[7,[15,"g"],false]],["e",[15,"l"],"page_referrer",[2,[15,"s"],"getHitData",[7,"page_referrer"]]],[22,[28,[17,[15,"a"],"includeParams"]],[46,[2,[15,"s"],"setHitData",[7,"page_location",[44]]],[2,[15,"s"],"setHitData",[7,"page_referrer",[44]]]]]]],[22,[2,[15,"f"],"getItem",[7,[15,"j"]]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"m",["require","internal.addDataLayerEventListener"]],[52,"n",["require","internal.enableAutoEventOnHistoryChange"]],[52,"o",["require","internal.getDestinationIds"]],[52,"p",["require","internal.sendGtagEvent"]],[52,"q",["n",[8,"interval",1000]]],[22,[28,[15,"q"]],[46,[2,[15,"a"],"gtmOnFailure",[7]],[36]]],[2,[15,"f"],"setItem",[7,[15,"j"],true]],["m","gtm.historyChange-v2",[51,"",[7,"s","t"],["t"],[52,"u",[16,[15,"s"],"gtm.oldUrl"]],[22,[20,[16,[15,"s"],"gtm.newUrl"],[15,"u"]],[46,[36]]],[52,"v",[16,[15,"s"],"gtm.historyChangeSource"]],[22,[1,[1,[21,[15,"v"],"pushState"],[21,[15,"v"],"popstate"]],[21,[15,"v"],"replaceState"]],[46,[36]]],[52,"w",[8,"page_location",[16,[15,"s"],"gtm.newUrl"],"page_referrer",[15,"u"]]],[52,"x",[8,"eventId",[16,[15,"s"],"gtm.uniqueEventId"]]],[22,[16,[15,"b"],"enableDeferAllEnhancedMeasurement"],[46,[43,[15,"x"],"deferrable",true]]],["r",[15,"x"]],["p",["o"],[15,"i"],[15,"w"],[15,"x"]]],[15,"q"]],[2,[15,"a"],"gtmOnSuccess",[7]]] + ,[50,"__ccd_em_scroll",[46,"a"],[50,"q",[46,"r"],[52,"s",[8]],[43,[15,"s"],[15,"j"],true],[43,[15,"s"],[15,"f"],true],[43,[15,"r"],"eventMetadata",[15,"s"]]],[52,"b",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[52,"c",["require","internal.getProductSettingsParameter"]],[52,"d",["require","internal.registerCcdCallback"]],[52,"e",["require","templateStorage"]],[52,"f","speculative"],[52,"g","ae_block_scroll"],[52,"h","scroll"],[52,"i","isRegistered"],[52,"j","em_event"],[52,"k",[17,[15,"a"],"instanceDestinationId"]],[22,["c",[15,"k"],[15,"g"]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],["d",[15,"k"],[51,"",[7,"r"],[22,[30,[21,[2,[15,"r"],"getEventName",[7]],[15,"h"]],[28,[2,[15,"r"],"getMetadata",[7,[15,"j"]]]]],[46,[36]]],[22,["c",[15,"k"],[15,"g"]],[46,[2,[15,"r"],"abort",[7]],[36]]],[2,[15,"r"],"setMetadata",[7,[15,"f"],false]],[22,[28,[17,[15,"a"],"includeParams"]],[46,[2,[15,"r"],"setHitData",[7,"percent_scrolled",[44]]]]]]],[22,[2,[15,"e"],"getItem",[7,[15,"i"]]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"l",["require","internal.addDataLayerEventListener"]],[52,"m",["require","internal.enableAutoEventOnScroll"]],[52,"n",["require","internal.getDestinationIds"]],[52,"o",["require","internal.sendGtagEvent"]],[52,"p",["m",[8,"verticalThresholdUnits","PERCENT","verticalThresholds",90]]],[22,[28,[15,"p"]],[46,[2,[15,"a"],"gtmOnFailure",[7]],[36]]],[2,[15,"e"],"setItem",[7,[15,"i"],true]],["l","gtm.scrollDepth",[51,"",[7,"r","s"],["s"],[52,"t",[8,"eventId",[16,[15,"r"],"gtm.uniqueEventId"]]],[22,[16,[15,"b"],"enableDeferAllEnhancedMeasurement"],[46,[43,[15,"t"],"deferrable",true]]],[52,"u",[8,"percent_scrolled",[16,[15,"r"],"gtm.scrollThreshold"]]],["q",[15,"t"]],["o",["n"],[15,"h"],[15,"u"],[15,"t"]]],[15,"p"]],[2,[15,"a"],"gtmOnSuccess",[7]]] + ,[50,"__ccd_em_site_search",[46,"a"],[50,"e",[46,"j"],[52,"k",[2,[30,[15,"j"],""],"split",[7,","]]],[53,[41,"l"],[3,"l",0],[63,[7,"l"],[23,[15,"l"],[17,[15,"k"],"length"]],[33,[15,"l"],[3,"l",[0,[15,"l"],1]]],[46,[53,[52,"m",["b",[2,[16,[15,"k"],[15,"l"]],"trim",[7]]]],[22,[21,[15,"m"],[44]],[46,[36,[15,"m"]]]]]]]]],[50,"f",[46,"j","k"],[52,"l",[8,"search_term",[15,"j"]]],[52,"m",[2,[30,[15,"k"],""],"split",[7,","]]],[53,[41,"n"],[3,"n",0],[63,[7,"n"],[23,[15,"n"],[17,[15,"m"],"length"]],[33,[15,"n"],[3,"n",[0,[15,"n"],1]]],[46,[53,[52,"o",[2,[16,[15,"m"],[15,"n"]],"trim",[7]]],[52,"p",["b",[15,"o"]]],[22,[21,[15,"p"],[44]],[46,[43,[15,"l"],[0,"q_",[15,"o"]],[15,"p"]]]]]]]],[36,[15,"l"]]],[52,"b",["require","getQueryParameters"]],[52,"c",["require","internal.sendGtagEvent"]],[52,"d",["require","getContainerVersion"]],[52,"g",["e",[17,[15,"a"],"searchQueryParams"]]],[52,"h",[30,[17,[15,"a"],"instanceDestinationId"],[17,["d"],"containerId"]]],[52,"i",[8,"deferrable",true,"eventId",[17,[15,"a"],"gtmEventId"]]],[22,[15,"g"],[46,[53,[52,"j",[39,[28,[28,[17,[15,"a"],"includeParams"]]],["f",[15,"g"],[17,[15,"a"],"additionalQueryParams"]],[8]]],["c",[15,"h"],"view_search_results",[15,"j"],[15,"i"]]]]],[2,[15,"a"],"gtmOnSuccess",[7]]] + ,[50,"__ccd_em_video",[46,"a"],[50,"s",[46,"t"],[52,"u",[8]],[43,[15,"u"],[15,"l"],true],[43,[15,"u"],[15,"f"],true],[43,[15,"t"],"eventMetadata",[15,"u"]]],[52,"b",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[52,"c",["require","internal.getProductSettingsParameter"]],[52,"d",["require","internal.registerCcdCallback"]],[52,"e",["require","templateStorage"]],[52,"f","speculative"],[52,"g","ae_block_video"],[52,"h","video_start"],[52,"i","video_progress"],[52,"j","video_complete"],[52,"k","isRegistered"],[52,"l","em_event"],[52,"m",[17,[15,"a"],"instanceDestinationId"]],[22,["c",[15,"m"],[15,"g"]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],["d",[15,"m"],[51,"",[7,"t"],[52,"u",[2,[15,"t"],"getEventName",[7]]],[52,"v",[30,[30,[20,[15,"u"],[15,"h"]],[20,[15,"u"],[15,"i"]]],[20,[15,"u"],[15,"j"]]]],[22,[30,[28,[15,"v"]],[28,[2,[15,"t"],"getMetadata",[7,[15,"l"]]]]],[46,[36]]],[22,["c",[15,"m"],[15,"g"]],[46,[2,[15,"t"],"abort",[7]],[36]]],[2,[15,"t"],"setMetadata",[7,[15,"f"],false]],[22,[28,[17,[15,"a"],"includeParams"]],[46,[2,[15,"t"],"setHitData",[7,"video_current_time",[44]]],[2,[15,"t"],"setHitData",[7,"video_duration",[44]]],[2,[15,"t"],"setHitData",[7,"video_percent",[44]]],[2,[15,"t"],"setHitData",[7,"video_provider",[44]]],[2,[15,"t"],"setHitData",[7,"video_title",[44]]],[2,[15,"t"],"setHitData",[7,"video_url",[44]]],[2,[15,"t"],"setHitData",[7,"visible",[44]]]]]]],[22,[2,[15,"e"],"getItem",[7,[15,"k"]]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"n",["require","internal.addDataLayerEventListener"]],[52,"o",["require","internal.enableAutoEventOnYouTubeActivity"]],[52,"p",["require","internal.getDestinationIds"]],[52,"q",["require","internal.sendGtagEvent"]],[52,"r",["o",[8,"captureComplete",true,"captureStart",true,"progressThresholdsPercent",[7,10,25,50,75]]]],[22,[28,[15,"r"]],[46,[2,[15,"a"],"gtmOnFailure",[7]],[36]]],[2,[15,"e"],"setItem",[7,[15,"k"],true]],["n","gtm.video",[51,"",[7,"t","u"],["u"],[52,"v",[16,[15,"t"],"gtm.videoStatus"]],[41,"w"],[22,[20,[15,"v"],"start"],[46,[3,"w",[15,"h"]]],[46,[22,[20,[15,"v"],"progress"],[46,[3,"w",[15,"i"]]],[46,[22,[20,[15,"v"],"complete"],[46,[3,"w",[15,"j"]]],[46,[36]]]]]]],[52,"x",[8,"video_current_time",[16,[15,"t"],"gtm.videoCurrentTime"],"video_duration",[16,[15,"t"],"gtm.videoDuration"],"video_percent",[16,[15,"t"],"gtm.videoPercent"],"video_provider",[16,[15,"t"],"gtm.videoProvider"],"video_title",[16,[15,"t"],"gtm.videoTitle"],"video_url",[16,[15,"t"],"gtm.videoUrl"],"visible",[16,[15,"t"],"gtm.videoVisible"]]],[52,"y",[8,"eventId",[16,[15,"t"],"gtm.uniqueEventId"]]],[22,[16,[15,"b"],"enableDeferAllEnhancedMeasurement"],[46,[43,[15,"y"],"deferrable",true]]],["s",[15,"y"]],["q",["p"],[15,"w"],[15,"x"],[15,"y"]]],[15,"r"]],[2,[15,"a"],"gtmOnSuccess",[7]]] + ,[50,"__ogt_google_signals",[46,"a"],[52,"b",[15,"__module_ccdGoogleSignals"]],[2,[15,"b"],"setup",[7,[15,"a"]]],[2,[15,"a"],"gtmOnSuccess",[7]]] + ,[50,"__set_product_settings",[46,"a"],[52,"b",["require","internal.setProductSettingsParameter"]],[52,"c",["require","getContainerVersion"]],[52,"d",[30,[17,[15,"a"],"instanceDestinationId"],[17,["c"],"containerId"]]],["b",[15,"d"],"google_tld",[17,[15,"a"],"foreignTldMacroResult"]],["b",[15,"d"],"ga_restrict_domain",[20,[17,[15,"a"],"isChinaVipRegionMacroResult"],1]],[2,[15,"a"],"gtmOnSuccess",[7]]] + ,[52,"__module_ccdConversionMarking",[13,[41,"$0"],[3,"$0",[51,"",[7],[50,"a",[46],[50,"m",[46,"n","o"],[52,"p",[8,"preHit",[15,"n"]]],[65,"q",[17,[15,"o"],"conversionRules"],[46,[22,["c",[17,[15,"q"],"matchingRules"],[15,"p"]],[46,[2,[15,"n"],"setMetadata",[7,[15,"d"],true]],[4]]]]],[22,[2,[15,"n"],"getMetadata",[7,[15,"e"]]],[46,[22,[28,[15,"k"]],[46,[53,[52,"q",["b",[15,"n"],[8,"omitHitData",true,"omitMetadata",true]]],[2,[15,"q"],"setEventName",[7,[15,"i"]]],[3,"k",[8,"preHit",[15,"q"]]]]]],[65,"q",[17,[15,"o"],"conversionRules"],[46,[22,["c",[17,[15,"q"],"matchingRules"],[15,"k"]],[46,[2,[15,"n"],"setMetadata",[7,[15,"f"],true]],[4]]]]]]],[22,[2,[15,"n"],"getMetadata",[7,[15,"g"]]],[46,[22,[28,[15,"l"]],[46,[53,[52,"q",["b",[15,"n"],[8,"omitHitData",true,"omitMetadata",true]]],[2,[15,"q"],"setEventName",[7,[15,"j"]]],[3,"l",[8,"preHit",[15,"q"]]]]]],[65,"q",[17,[15,"o"],"conversionRules"],[46,[22,["c",[17,[15,"q"],"matchingRules"],[15,"l"]],[46,[2,[15,"n"],"setMetadata",[7,[15,"h"],true]],[4]]]]]]]],[52,"b",["require","internal.copyPreHit"]],[52,"c",["require","internal.evaluateBooleanExpression"]],[52,"d","is_conversion"],[52,"e","is_first_visit"],[52,"f","is_first_visit_conversion"],[52,"g","is_session_start"],[52,"h","is_session_start_conversion"],[52,"i","first_visit"],[52,"j","session_start"],[41,"k"],[41,"l"],[36,[8,"callback",[15,"m"]]]],[36,["a"]]]],["$0"]]] + ,[52,"__module_ccdGoogleSignals",[13,[41,"$0"],[3,"$0",[51,"",[7],[50,"a",[46],[50,"e",[46,"f"],[52,"g",[30,[17,[15,"f"],"instanceDestinationId"],[17,["c"],"containerId"]]],["b",[15,"g"],"google_signals",[20,[17,[15,"f"],"serverMacroResult"],1]],[22,[17,[15,"d"],"enableGa4OnoRemarketing"],[46,["b",[15,"g"],"google_ono",[20,[17,[15,"f"],"serverMacroResult"],2]]]]],[52,"b",["require","internal.setProductSettingsParameter"]],[52,"c",["require","getContainerVersion"]],[52,"d",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[36,[8,"setup",[15,"e"]]]],[36,["a"]]]],["$0"]]] + +] +,"entities":{ +"__ccd_conversion_marking":{"2":true} +, +"__ccd_em_download":{"2":true} +, +"__ccd_em_outbound_click":{"2":true} +, +"__ccd_em_page_view":{"2":true} +, +"__ccd_em_scroll":{"2":true} +, +"__ccd_em_site_search":{"2":true} +, +"__ccd_em_video":{"2":true} +, +"__ogt_google_signals":{"2":true} +, +"__set_product_settings":{"2":true} + + +} +,"permissions":{ +"__ccd_conversion_marking":{} +, +"__ccd_em_download":{"listen_data_layer":{"accessType":"specific","allowedEvents":["gtm.linkClick"]},"process_dom_events":{"targets":[{"targetType":"document","eventName":"click"},{"targetType":"document","eventName":"auxclick"}]},"access_template_storage":{}} +, +"__ccd_em_outbound_click":{"get_url":{"urlParts":"any","queriesAllowed":"any"},"listen_data_layer":{"accessType":"specific","allowedEvents":["gtm.linkClick"]},"process_dom_events":{"targets":[{"targetType":"document","eventName":"click"},{"targetType":"document","eventName":"auxclick"}]},"access_template_storage":{}} +, +"__ccd_em_page_view":{"listen_data_layer":{"accessType":"specific","allowedEvents":["gtm.historyChange-v2"]},"process_dom_events":{"targets":[{"targetType":"window","eventName":"pushstate"},{"targetType":"window","eventName":"popstate"}]},"access_template_storage":{}} +, +"__ccd_em_scroll":{"listen_data_layer":{"accessType":"specific","allowedEvents":["gtm.scrollDepth"]},"process_dom_events":{"targets":[{"targetType":"window","eventName":"resize"},{"targetType":"window","eventName":"scroll"}]},"access_template_storage":{}} +, +"__ccd_em_site_search":{"get_url":{"urlParts":"any","queriesAllowed":"any"},"read_container_data":{}} +, +"__ccd_em_video":{"listen_data_layer":{"accessType":"specific","allowedEvents":["gtm.video"]},"process_dom_events":{"targets":[{"targetType":"element","eventName":"onStateChange"},{"targetType":"element","eventName":"onPlaybackRateChange"}]},"access_template_storage":{}} +, +"__ogt_google_signals":{"read_container_data":{}} +, +"__set_product_settings":{"read_container_data":{}} + + +} + + + +,"security_groups":{ +"google":[ +"__ccd_conversion_marking" +, +"__ccd_em_download" +, +"__ccd_em_outbound_click" +, +"__ccd_em_page_view" +, +"__ccd_em_scroll" +, +"__ccd_em_site_search" +, +"__ccd_em_video" +, +"__ogt_google_signals" +, +"__set_product_settings" + +] + + +} + + + +}; + + +/* + + Copyright The Closure Library Authors. + SPDX-License-Identifier: Apache-2.0 +*/ +var ba,ca=function(a){var b=0;return function(){return bb)a=0,b=2147483647;return Math.floor(Math.random()*(b-a+1)+a)},Oa=function(a,b){for(var c=new Ma,d=0;d>2,n=(f&3)<<4|g>>4,p=(g&15)<<2|h>>6,q=h&63;e||(q=64,d||(p=64));b.push(rb[l],rb[n],rb[p],rb[q])}return b.join("")} +function vb(a){function b(l){for(;d>4);64!=g&&(c+=String.fromCharCode(f<<4&240|g>>2),64!=h&&(c+=String.fromCharCode(g<<6&192|h)))}};var wb={},xb=function(a,b){wb[a]=wb[a]||[];wb[a][b]=!0},yb=function(){delete wb.GA4_EVENT},zb=function(a){var b=wb[a];if(!b||0===b.length)return"";for(var c=[],d=0,e=0;e"+a+"
");1===c.nodeType&&ec(c);c.innerHTML=Zb(d);b=b.lastChild;for(var e=[];b.firstChild;)e.push(b.removeChild(b.firstChild));return e},yc=function(a,b,c){c=c||100;for(var d={},e=0;ee&&(e=Math.max(d+e,0));for(var f=e;fc?d+c:Math.min(c,e));for(var f=e;0<=f;f--)if(this.has(f)&&this.get(f)===b)return f;return-1},map:function(a,b){for(var c=this.length(),d=[],e=0;ed)throw Error("TypeError: ReduceRight on List with no elements.");}for(var h=f;0<=h;h--)this.has(h)&&(e=b.h(a,e,this.get(h),h,this));return e},reverse:function(){for(var a=Xc(this),b=a.length-1,c=0;0<=b;b--,c++)a.hasOwnProperty(b)?this.set(c,a[b]):Aa(this,c);return this},shift:function(){return this.shift()},slice:function(a,b,c){var d=this.length();void 0===b&&(b=0);b=0>b?Math.max(d+b,0):Math.min(b,d);c=void 0===c?d:0>c? +Math.max(d+c,0):Math.min(c,d);c=Math.max(b,c);for(var e=[],f=b;fC(this, +b)},Dd=function(a,b){return C(this,a)>=C(this,b)},Ed=function(a,b){a=C(this,a);b=C(this,b);a instanceof Oc&&(a=a.Ga);b instanceof Oc&&(b=b.Ga);return a===b},Fd=function(a,b){return!Ed.call(this,a,b)},Gd=function(a,b,c){var d=[];C(this,a)?d=C(this,b):c&&(d=C(this,c));var e=jb(this.h,d);if(e instanceof ua)return e},Hd=function(a,b){return C(this,a)>Number(C(this,b))},de=function(a,b){return Number(C(this,a))>>>Number(C(this,b))},ee=function(a,b){return Number(C(this,a))&Number(C(this,b))},fe=function(a,b){return Number(C(this,a))^Number(C(this,b))},ge=function(a,b){return Number(C(this,a))|Number(C(this,b))};var ie=function(){this.h=new mb;he(this)};ie.prototype.execute=function(a){return je(this.h.m(a))}; +var ke=function(a,b,c){return je(a.h.C(b,c))},he=function(a){var b=function(d,e){pb(a.h,d,String(e))};b("control",49);b("fn",51);b("list",7);b("map",8);b("undefined",44);var c=function(d,e){nb(a.h,String(d),e)};c(0,dd);c(1,ed);c(2,fd);c(3,gd);c(53,hd);c(4,id);c(5,jd);c(52,kd);c(6,ld);c(9,jd);c(50,md);c(10,nd);c(12,od);c(13,pd);c(47,sd);c(54,td);c(55,ud);c(63,zd);c(64,wd);c(65,xd);c(66,yd);c(15,Ad);c(16,Bd);c(17,Bd);c(18,Cd);c(19,Dd);c(20,Ed);c(21,Fd);c(22,Gd);c(23,Hd);c(24,Id);c(25,Jd);c(26,Kd);c(27, +Ld);c(28,Md);c(29,Nd);c(45,Od);c(30,Pd);c(32,Qd);c(33,Qd);c(34,Rd);c(35,Rd);c(46,Sd);c(36,Td);c(43,Ud);c(37,Vd);c(38,Wd);c(39,Xd);c(40,Yd);c(41,Zd);c(42,$d);c(58,ae);c(57,be);c(60,ce);c(61,de);c(56,ee);c(62,fe);c(59,ge)};function je(a){if(a instanceof ua||a instanceof gb||a instanceof za||a instanceof kb||a instanceof Oc||null===a||void 0===a||"string"===typeof a||"number"===typeof a||"boolean"===typeof a)return a};function le(a){switch(a){case 1:return"1";case 2:case 4:return"0";default:return"-"}}function me(a){switch(a){case 1:return"G";case 3:return"g";case 2:return"D";case 4:return"d";case 0:return"g";default:return"g"}}function ne(a,b){var c=a[1]||0,d=a[2]||0;switch(b){case 0:return"G1"+le(c)+le(d);case 1:return"G2"+me(c)+me(d);default:return"g1--"}};var oe=function(){var a=function(b){return{toString:function(){return b}}};return{Zj:a("consent"),hi:a("convert_case_to"),ii:a("convert_false_to"),ji:a("convert_null_to"),ki:a("convert_true_to"),li:a("convert_undefined_to"),Gm:a("debug_mode_metadata"),Tb:a("function"),Zg:a("instance_name"),Bk:a("live_only"),Ck:a("malware_disabled"),Dk:a("metadata"),Gk:a("original_activity_id"),Nm:a("original_vendor_template_id"),Mm:a("once_on_load"),Fk:a("once_per_event"),gj:a("once_per_load"),Rm:a("priority_override"), +Sm:a("respected_consent_types"),lj:a("setup_tags"),pe:a("tag_id"),qj:a("teardown_tags")}}();var Ke; +var Le=[],Me=[],Ne=[],Oe=[],Pe=[],Qe={},Re,Se,Ue=function(){var a=Te;Se=Se||a},We=function(){for(var a=data.resource||{},b=a.macros||[],c=0;cc){var r=String.fromCharCode(10>c?48+c:65+c-10);b["k"+r]=(""+String(e)).replace(/~/g,"~~");b["v"+r]=f;c++}});var d=[];m(b,function(e,f){d.push(""+e+f)});return d.join("~")}, +Cf={item_id:"id",item_name:"nm",item_brand:"br",item_category:"ca",item_category2:"c2",item_category3:"c3",item_category4:"c4",item_category5:"c5",item_variant:"va",price:"pr",quantity:"qt",coupon:"cp",item_list_name:"ln",index:"lp",item_list_id:"li",discount:"ds",affiliation:"af",promotion_id:"pi",promotion_name:"pn",creative_name:"cn",creative_slot:"cs",location_id:"lo"},Df={id:"id",name:"nm",brand:"br",variant:"va",list_name:"ln",list_position:"lp",list:"ln",position:"lp",creative:"cn"},Ef=["ca", +"c2","c3","c4","c5"];var Gf=function(a){var b=[];m(a,function(c,d){null!=d&&b.push(encodeURIComponent(c)+"="+encodeURIComponent(String(d)))});return b.join("&")},Hf=function(a,b,c,d){this.Sa=a.Sa;this.Fc=a.Fc;this.ph=a.ph;this.m=b;this.C=c;this.B=Gf(a.Sa);this.h=Gf(a.ph);this.J=this.h.length;if(d&&16384this.events.length&&16384>a.J+this.B,c=this.Sa===a.B&&this.h===a.m&&this.m===a.C;return 0==this.events.length||b&&c}; +var Jf=function(a,b){m(a,function(c,d){null!=d&&b.push(encodeURIComponent(c)+"="+encodeURIComponent(d))})},Kf=function(a,b){var c=[];a.B&&c.push(a.B);b&&c.push("_s="+b);Jf(a.Fc,c);var d=!1;a.h&&(c.push(a.h),d=!0);var e=c.join("&"),f="",g=e.length+a.m.length+1;d&&2048w&&(v=y,w=B)});x==c.length&&(g[t]=v)});Jf(g,d);b&&d.push("_s="+b);for(var h=d.join("&"),l=[],n={},p=0;p=Number(b)}function Wf(a,b){return Number(a)<=Number(b)}function Xf(a,b){return Number(a)>Number(b)}function Yf(a,b){return Number(a)a.length?void 0:Ag(c.getHitData(a[1]),a.slice(2));case "metadata":return 2>a.length?void 0:Ag(c.getMetadata(a[1]),a.slice(2));case "eventName":return c.getEventName();case "destinationId":return c.getDestinationId();default:throw Error(d+" is not a valid field that can be accessed\n from PreHit data.");}}}, +Cg=function(a,b){if(a){if(void 0!==a.contextValue){var c;a:{var d=a.contextValue,e=d.keyParts;if(e&&0!==e.length){var f=d.namespaceType;switch(f){case 1:c=Bg(e,b);break a;case 2:var g=b.macro;c=g?g[e[0]]:void 0;break a;default:throw Error("Unknown Namespace Type used: "+f);}}c=void 0}return c}if(void 0!==a.booleanExpressionValue)return zg(a.booleanExpressionValue,b);if(void 0!==a.booleanValue)return!!a.booleanValue;if(void 0!==a.stringValue)return String(a.stringValue);if(void 0!==a.integerValue)return Number(a.integerValue); +if(void 0!==a.doubleValue)return Number(a.doubleValue);throw Error("Unknown field used for variable of type ExpressionValue:"+a);}},zg=function(a,b){var c=a.args;if(!Ja(c)||0===c.length)throw Error('Invalid boolean expression format. Expected "args":'+c+" property to\n be non-empty array.");var d=function(g){return Cg(g,b)};switch(a.type){case 1:for(var e=0;ee?c.push(e):2048>e?c.push(192|e>>6,128|e&63):55296>e||57344<=e?c.push(224|e>>12,128|e>>6&63,128|e&63):(e=65536+((e&1023)<<10|a.charCodeAt(++d)&1023),c.push(240|e>>18,128|e>>12&63,128| +e>>6&63,128|e&63))}b=new Uint8Array(c)}return b},eh=/[0-9`~!@#$%^&*()_\-+=:;<>,.?|/\\[\]]/g,hh=/^\S+@\S+\.\S+$/,fh=/^\+\d{10,15}$/,ah=/[.~]/g,oh=/^[0-9A-Za-z_-]{43}$/,mh=/^[0-9A-Fa-f]{64}$/,ph={},qh=(ph.email="em",ph.phone_number="pn",ph.first_name="fn",ph.last_name="ln",ph.street="sa",ph.city="ct",ph.region="rg",ph.country="co",ph.postal_code="pc",ph.error_code="ec",ph),rh={},sh=(rh.email="sha256_email_address",rh.phone_number="sha256_phone_number",rh.first_name="sha256_first_name",rh.last_name= +"sha256_last_name",rh.street="sha256_street",rh),th=function(a,b){function c(t,u,v,w){var x=$g(t);""!==x&&(mh.test(x)?l.push({name:u,value:x,index:w}):l.push({name:u,value:v(x),index:w}))}function d(t,u){var v=t;if(k(v)||Ja(v)){v=Ja(t)?t:[t];for(var w=0;w=f)return!0;(d=d.parentElement)&&(e=z.getComputedStyle(d,null))}return!1}; +var Ni=function(){var a=G.body,b=G.documentElement||a&&a.parentElement,c,d;if(G.compatMode&&"BackCompat"!==G.compatMode)c=b?b.clientHeight:0,d=b?b.clientWidth:0;else{var e=function(f,g){return f&&g?Math.min(f,g):Math.max(f,g)};c=e(b?b.clientHeight:0,a?a.clientHeight:0);d=e(b?b.clientWidth:0,a?a.clientWidth:0)}return{width:d,height:c}},Oi=function(a){var b=Ni(),c=b.height,d=b.width,e=a.getBoundingClientRect(),f=e.bottom-e.top,g=e.right-e.left;return f&&g?(1-Math.min((Math.max(0-e.left,0)+Math.max(e.right- +d,0))/g,1))*(1-Math.min((Math.max(0-e.top,0)+Math.max(e.bottom-c,0))/f,1)):0};var Pi=[],Qi=!(!z.IntersectionObserver||!z.IntersectionObserverEntry),Ri=function(a,b,c){for(var d=new z.IntersectionObserver(a,{threshold:c}),e=0;ee[h])for(;f[h]=c[f[h]+1];)d(b[h],l),f[h]++;else if(lc[d]&&(c[d]=0);if(Qi){var e=!1;H(function(){e|| +Si(a,b,c)()});return Ri(function(f){e=!0;for(var g={od:0};g.odc?a.href:a.href.substr(0,c)}return b},bj=function(a){var b=G.createElement("a");a&&(b.href=a);var c=b.pathname;"/"!==c[0]&&(a||xb("TAGGING",1),c="/"+c);var d=b.hostname.replace(Vi,"");return{href:b.href,protocol:b.protocol,host:b.host,hostname:d,pathname:c,search:b.search,hash:b.hash,port:b.port}},cj=function(a){function b(n){var p=n.split("=")[0];return 0>d.indexOf(p)?n: +p+"=0"}function c(n){return n.split("&").map(b).filter(function(p){return void 0!==p}).join("&")}var d="gclid dclid gbraid wbraid gclaw gcldc gclha gclgf gclgb _gl".split(" "),e=bj(a),f=a.split(/[?#]/)[0],g=e.search,h=e.hash;"?"===g[0]&&(g=g.substring(1));"#"===h[0]&&(h=h.substring(1));g=c(g);h=c(h);""!==g&&(g="?"+g);""!==h&&(h="#"+h);var l=""+f+g+h;"/"===l[l.length-1]&&(l=l.substring(0,l.length-1));return l},dj=function(a){var b=bj(z.location.href),c=$i(b,"host",!1);if(c&&c.match(Wi)){var d=$i(b, +"path").split(a+"=");if(1=a.length)return a;var c=a.filter(b);return 0==c.length?a:c},ej=function(a){var b;if(a===G.body)b="body";else{var c;if(a.id)c="#"+a.id;else{var d;if(a.parentElement){var e;a:{var f=a.parentElement;if(f){for(var g=0;g:nth-child("+e+")"}else d="";c=d}b=c}return b},nj=function(a){for(var b=[],c=0;cd;d++){var e=c[d];if(!(0<=oj.indexOf(e.tagName.toUpperCase()))&&e.children instanceof HTMLCollection){for(var f=!1,g=0;gg;g++)if(!(0<=pj.indexOf(e.children[g].tagName.toUpperCase()))){f=!0;break}(!f||S(59)&&-1!==qj.indexOf(e.tagName))&&a.push(e)}}return{elements:a,status:1E4Va()-c.timestamp)return c.result;var d=rj(),e=d.status, +f=[],g,h,l=[];if(!S(59)){if(a.Wa&&a.Wa.email){var n=nj(d.elements);f=lj(n,a&&a.hd);g=kj(f);10Va()-Fl.B[Fl.h%Fl.m]);if(a||0>=Gl--)N(1),Dl[Cl]=!0;else{var b=Fl.h++%Fl.m;Fl.B[b]=Va();var c=Hl(!0);sc(c);if(wl){var d=c.replace("/a?","/td?");sc(d)}Jl=wl=!1}}}var Jl=!1;function Kl(a){Dl[a]||(a!==Cl&&(Il(),Cl=a),Jl=!0,El||(El=z.setTimeout(Il,500)),2022<=Hl().length&&Il())}var Ll=La();function Ml(){Ll=La()}function Nl(){return["&v=3&t=t","&pid="+Ll].join("")};var Ol=function(a,b,c,d,e,f,g,h,l,n,p,q){this.eventId=a;this.priorityId=b;this.h=c;this.J=d;this.m=e;this.C=f;this.R=g;this.B=h;this.eventMetadata=l;this.P=n;this.W=p;this.isGtmEvent=q},T=function(a,b,c){if(void 0!==a.h[b])return a.h[b];if(void 0!==a.J[b])return a.J[b];if(void 0!==a.m[b])return a.m[b];Al&&Pl(a,a.C[b],a.R[b])&&(N(71),N(79));return void 0!==a.C[b]?a.C[b]:void 0!==a.B[b]?a.B[b]:c},Ql=function(a){function b(g){for(var h=Object.keys(g),l=0;l>21:b;return b};var sm=function(a,b,c){for(var d=[],e=b.split(";"),f=0;fd)return null;var e=a.indexOf("&",d);if(0>e||e>c)e=c;d+=b.length+1;return decodeURIComponent(a.slice(d,-1!==e?e:0).replace(/\+/g," "))},mn=/[?&]($|#)/,nn=function(a,b,c){for(var d,e=a.search(kn),f=0,g,h=[];0<=(g=jn(a,f,b,e));)h.push(a.substring(f, +g)),f=Math.min(a.indexOf("&",g)+1||e,e);h.push(a.slice(f));d=h.join("").replace(mn,"$1");var l,n=null!=c?"="+encodeURIComponent(String(c)):"";var p=b+n;if(p){var q,r=d.indexOf("#");0>r&&(r=d.length);var t=d.indexOf("?"),u;0>t||t>r?(t=r,u=""):u=d.substring(t+1,r);q=[d.slice(0,t),u,d.slice(r)];var v=q[1];q[1]=p?v?v+"&"+p:p:v;l=q[0]+(q[1]?"?"+q[1]:"")+q[2]}else l=d;return l};var on=function(a){try{var b;if(b=!!a&&null!=a.location.href)a:{try{bk(a.foo);b=!0;break a}catch(c){}b=!1}return b}catch(c){return!1}},pn=function(a,b){if(a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(a[c],c,a)};function qn(a){if(!a||!G.head)return null;var b=rn("META");G.head.appendChild(b);b.httpEquiv="origin-trial";b.content=a;return b} +var sn=function(){if(z.top==z)return 0;var a=z.location.ancestorOrigins;return a?a[a.length-1]==z.location.origin?1:2:on(z.top)?1:2},rn=function(a,b){b=void 0===b?document:b;return b.createElement(String(a).toLowerCase())};function tn(a,b,c,d){d=void 0===d?!1:d;a.google_image_requests||(a.google_image_requests=[]);var e=rn("IMG",a.document);if(c){var f=function(){if(c){var g=a.google_image_requests,h=Ab(g,e);0<=h&&Array.prototype.splice.call(g,h,1)}e.removeEventListener&&e.removeEventListener("load",f,!1);e.removeEventListener&&e.removeEventListener("error",f,!1)};dn(e,"load",f);dn(e,"error",f)}d&&(e.attributionSrc="");e.src=b;a.google_image_requests.push(e)} +var vn=function(a){var b;b=void 0===b?!1:b;var c="https://pagead2.googlesyndication.com/pagead/gen_204?id=tcfe";pn(a,function(d,e){if(d||0===d)c+="&"+e+"="+encodeURIComponent(""+d)});un(c,b)},un=function(a,b){var c=window,d;b=void 0===b?!1:b;d=void 0===d?!1:d;if(c.fetch){var e={keepalive:!0,credentials:"include",redirect:"follow",method:"get",mode:"no-cors"};d&&(e.mode="cors","setAttributionReporting"in XMLHttpRequest.prototype?e.attributionReporting={eventSourceEligible:"true",triggerEligible:"false"}: +e.headers={"Attribution-Reporting-Eligible":"event-source"});c.fetch(a,e)}else tn(c,a,void 0===b?!1:b,void 0===d?!1:d)};var wn=function(){};var xn=function(a){void 0!==a.addtlConsent&&"string"!==typeof a.addtlConsent&&(a.addtlConsent=void 0);void 0!==a.gdprApplies&&"boolean"!==typeof a.gdprApplies&&(a.gdprApplies=void 0);return void 0!==a.tcString&&"string"!==typeof a.tcString||void 0!==a.listenerId&&"number"!==typeof a.listenerId?2:a.cmpStatus&&"error"!==a.cmpStatus?0:3},yn=function(a,b){b=void 0===b?{}:b;this.m=a;this.h=null;this.J={};this.rb=0;var c;this.R=null!=(c=b.zm)?c:500;var d;this.C=null!=(d=b.Um)?d:!1;this.B=null};ra(yn,wn); +yn.prototype.addEventListener=function(a){var b=this,c={internalBlockOnErrors:this.C},d=um(function(){return a(c)}),e=0;-1!==this.R&&(e=setTimeout(function(){c.tcString="tcunavailable";c.internalErrorState=1;d()},this.R));var f=function(g,h){clearTimeout(e);g?(c=g,c.internalErrorState=xn(c),c.internalBlockOnErrors=b.C,h&&0===c.internalErrorState||(c.tcString="tcunavailable",h||(c.internalErrorState=3))):(c.tcString="tcunavailable",c.internalErrorState=3);a(c)};try{zn(this,"addEventListener",f)}catch(g){c.tcString= +"tcunavailable",c.internalErrorState=3,e&&(clearTimeout(e),e=0),d()}};yn.prototype.removeEventListener=function(a){a&&a.listenerId&&zn(this,"removeEventListener",null,a.listenerId)}; +var Bn=function(a,b,c){var d;d=void 0===d?"755":d;var e;a:{if(a.publisher&&a.publisher.restrictions){var f=a.publisher.restrictions[b];if(void 0!==f){e=f[void 0===d?"755":d];break a}}e=void 0}var g=e;if(0===g)return!1;var h=c;2===c?(h=0,2===g&&(h=1)):3===c&&(h=1,1===g&&(h=0));var l;if(0===h)if(a.purpose&&a.vendor){var n=An(a.vendor.consents,void 0===d?"755":d);l=n&&"1"===b&&a.purposeOneTreatment&&"CH"===a.publisherCC?!0:n&&An(a.purpose.consents,b)}else l=!0;else l=1===h?a.purpose&&a.vendor?An(a.purpose.legitimateInterests, +b)&&An(a.vendor.legitimateInterests,void 0===d?"755":d):!0:!0;return l},An=function(a,b){return!(!a||!a[b])},zn=function(a,b,c,d){c||(c=function(){});if("function"===typeof a.m.__tcfapi){var e=a.m.__tcfapi;e(b,2,c,d)}else if(Cn(a)){Dn(a);var f=++a.rb;a.J[f]=c;if(a.h){var g={};a.h.postMessage((g.__tcfapiCall={command:b,version:2,callId:f,parameter:d},g),"*")}}else c({},!1)},Cn=function(a){if(a.h)return a.h;var b;a:{for(var c=a.m,d=0;50>d;++d){var e;try{e=!(!c.frames||!c.frames.__tcfapiLocator)}catch(h){e= +!1}if(e){b=c;break a}var f;b:{try{var g=c.parent;if(g&&g!=c){f=g;break b}}catch(h){}f=null}if(!(c=f))break}b=null}a.h=b;return a.h},Dn=function(a){a.B||(a.B=function(b){try{var c;c=("string"===typeof b.data?JSON.parse(b.data):b.data).__tcfapiReturn;a.J[c.callId](c.returnValue,c.success)}catch(d){}},dn(a.m,"message",a.B))},En=function(a){if(!1===a.gdprApplies)return!0;void 0===a.internalErrorState&&(a.internalErrorState=xn(a));return"error"===a.cmpStatus||0!==a.internalErrorState?a.internalBlockOnErrors? +(vn({e:String(a.internalErrorState)}),!1):!0:"loaded"!==a.cmpStatus||"tcloaded"!==a.eventStatus&&"useractioncomplete"!==a.eventStatus?!1:!0};var Fn={1:0,3:0,4:0,7:3,9:3,10:3},Gn=cn('',500);function Hn(){var a=Lh.tcf||{};return Lh.tcf=a} +var Nn=function(){var a=Hn(),b=new yn(z,{zm:-1});In(b)&&Jn()&&N(124);if(!Jn()&&!a.active&&In(b)){a.active=!0;a.Vf={};Kn();a.tcString="tcunavailable";try{b.addEventListener(function(c){if(0!==c.internalErrorState)Ln(a),Mn(a);else{var d;a.gdprApplies=c.gdprApplies;if(!1===c.gdprApplies){var e={},f;for(f in Fn)Fn.hasOwnProperty(f)&&(e[f]=!0);d=e;b.removeEventListener(c)}else if("tcloaded"===c.eventStatus||"useractioncomplete"===c.eventStatus||"cmpuishown"===c.eventStatus){var g={},h;for(h in Fn)if(Fn.hasOwnProperty(h))if("1"=== +h){var l,n=c,p=!0;p=void 0===p?!1:p;l=En(n)?!1===n.gdprApplies||"tcunavailable"===n.tcString||void 0===n.gdprApplies&&!p||"string"!==typeof n.tcString||!n.tcString.length?!0:Bn(n,"1",0):!1;g["1"]=l}else g[h]=Bn(c,h,Fn[h]);d=g}d&&(a.tcString=c.tcString||"tcempty",a.Vf=d,Mn(a))}})}catch(c){Ln(a),Mn(a)}}};function Ln(a){a.type="e";a.tcString="tcunavailable"}function Kn(){var a={},b=(a.ad_storage="denied",a.wait_for_update=Gn,a);Lk(b)} +function In(a){return"function"===typeof z.__tcfapi||"function"===typeof a.m.__tcfapi||null!=Cn(a)?!0:!1}var Jn=function(){return!0!==z.gtag_enable_tcf_support};function Mn(a){var b={},c=(b.ad_storage=a.Vf["1"]?"granted":"denied",b);Mk(c,{eventId:0},{gdprApplies:a?a.gdprApplies:void 0,tcString:On()})} +var On=function(){var a=Hn();return a.active?a.tcString||"":""},Pn=function(){var a=Hn();return a.active&&void 0!==a.gdprApplies?a.gdprApplies?"1":"0":""},Qn=function(a){if(!Fn.hasOwnProperty(String(a)))return!0;var b=Hn();return b.active&&b.Vf?!!b.Vf[String(a)]:!0};var Rn=void 0;function Sn(a){var b="";return b};var Tn=function(a){for(var b=[],c=0,d=0;de?b[c++]=e:(2048>e?b[c++]=e>>6|192:(55296==(e&64512)&&d+1>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b};Vb();fn()||Sb("iPod");Sb("iPad");!Sb("Android")||Wb()||Vb()||Ub()||Sb("Silk");Wb();!Sb("Safari")||Wb()||(Tb()?0:Sb("Coast"))||Ub()||(Tb()?0:Sb("Edge"))||(Tb()?Rb("Microsoft Edge"):Sb("Edg/"))||(Tb()?Rb("Opera"):Sb("OPR"))||Vb()||Sb("Silk")||Sb("Android")||gn();var Un={},Vn=null,Wn=function(a){for(var b=[],c=0,d=0;d>=8);b[c++]=e}var f=4;void 0===f&&(f=0);if(!Vn){Vn={};for(var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),h=["+/=","+/","-_=","-_.","-_"],l=0;5>l;l++){var n=g.concat(h[l].split(""));Un[l]=n;for(var p=0;p>2],D=r[(x&3)<<4|y>>4],F=r[(y&15)<<2|A>>6],J=r[A&63];t[w++]=""+B+D+F+J}var K=0,P=u;switch(b.length-v){case 2:K=b[v+1],P=r[(K&15)<<2]||u;case 1:var Q=b[v];t[w]=""+r[Q>>2]+r[(Q&3)<<4|K>>4]+P+u}return t.join("")};var Xn="platform platformVersion architecture model uaFullVersion bitness fullVersionList wow64".split(" ");function Yn(a){var b;return null!=(b=a.google_tag_data)?b:a.google_tag_data={}}function Zn(){var a=z.google_tag_data,b;if(null!=a&&a.uach){var c=a.uach,d=Object.assign({},c);c.fullVersionList&&(d.fullVersionList=c.fullVersionList.slice(0));b=d}else b=null;return b}function $n(){var a,b;return null!=(b=null==(a=z.google_tag_data)?void 0:a.uach_promise)?b:null} +function ao(a){var b,c;return"function"===typeof(null==(b=a.navigator)?void 0:null==(c=b.userAgentData)?void 0:c.getHighEntropyValues)}function bo(){var a=z;if(!ao(a))return null;var b=Yn(a);if(b.uach_promise)return b.uach_promise;var c=a.navigator.userAgentData.getHighEntropyValues(Xn).then(function(d){null!=b.uach||(b.uach=d);return d});return b.uach_promise=c}; +var co,eo=function(){if(ao(z)&&(co=Va(),!$n())){var a=bo();a&&(a.then(function(){N(95);}),a.catch(function(){N(96)}))}},go=function(a){var b=fo.Dm,c=function(g,h){try{a(g,h)}catch(l){}},d=Zn();if(d)c(d);else{var e=$n();if(e){b= +Math.min(Math.max(isFinite(b)?b:0,0),1E3);var f=z.setTimeout(function(){c.De||(c.De=!0,N(106),c(null,Error("Timeout")))},b);e.then(function(g){c.De||(c.De=!0,N(104),z.clearTimeout(f),c(g))}).catch(function(g){c.De||(c.De=!0,N(105),z.clearTimeout(f),c(null,g))})}else c(null)}},ho=function(a,b){a&&(b.m[O.g.Xd]=a.architecture,b.m[O.g.Yd]=a.bitness,a.fullVersionList&&(b.m[O.g.Zd]=a.fullVersionList.map(function(c){return encodeURIComponent(c.brand||"")+";"+encodeURIComponent(c.version||"")}).join("|")), +b.m[O.g.ae]=a.mobile?"1":"0",b.m[O.g.be]=a.model,b.m[O.g.ce]=a.platform,b.m[O.g.de]=a.platformVersion,b.m[O.g.ee]=a.wow64?"1":"0")};function io(a,b,c,d){var e,f=Number(null!=a.Db?a.Db:void 0);0!==f&&(e=new Date((b||Va())+1E3*(f||7776E3)));return{path:a.path,domain:a.domain,flags:a.flags,encode:!!c,expires:e,Fb:d}};var jo;var no=function(){var a=ko,b=lo,c=mo(),d=function(g){a(g.target||g.srcElement||{})},e=function(g){b(g.target||g.srcElement||{})};if(!c.init){tc(G,"mousedown",d);tc(G,"keyup",d);tc(G,"submit",e);var f=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){b(this);f.call(this)};c.init=!0}},oo=function(a,b,c,d,e){var f={callback:a,domains:b,fragment:2===c,placement:c,forms:d,sameHost:e};mo().decorators.push(f)},po=function(a,b,c){for(var d=mo().decorators,e={},f=0;ff;f++){for(var g=f,h=0;8>h;h++)g=g&1?g>>>1^3988292384:g>>>1;e[f]=g}d=e}jo=d;for(var l=4294967295,n=0;n>>8^jo[(l^c.charCodeAt(n))&255];return((l^-1)>>>0).toString(36)} +function xo(){return function(a){var b=bj(z.location.href),c=b.search.replace("?",""),d=Xi(c,"_gl",!1,!0)||"";a.query=yo(d)||{};var e=$i(b,"fragment").match(uo("_gl"));a.fragment=yo(e&&e[3]||"")||{}}}function zo(a,b){var c=uo(a).exec(b),d=b;if(c){var e=c[2],f=c[4];d=c[1];f&&(d=d+e+f)}return d} +var Ao=function(a,b){b||(b="_gl");var c=to.exec(a);if(!c)return"";var d=c[1],e=zo(b,(c[2]||"").slice(1)),f=zo(b,(c[3]||"").slice(1));e.length&&(e="?"+e);f.length&&(f="#"+f);return""+d+e+f},Bo=function(a){var b=xo(),c=mo();c.data||(c.data={query:{},fragment:{}},b(c.data));var d={},e=c.data;e&&(Ya(d,e.query),a&&Ya(d,e.fragment));return d},yo=function(a){try{var b=Co(a,3);if(void 0!==b){for(var c={},d=b?b.split("*"):[],e=0;e+1e;++e){var f=qo.exec(d);if(f){c=f;break a}d=decodeURIComponent(d)}c=void 0}var g=c;if(g&&"1"===g[1]){var h=g[3],l;a:{for(var n=g[2],p=0;pf.length||!b&&3!==f.length)&&Number(f[1])){d[c[e].Yh]||(d[c[e].Yh]=[]);var g={version:f[0],timestamp:1E3*Number(f[1]),fa:f[2]};b&&3p){n=!0;break b}n=!1}if(!n){var t=io(b,l,!0);t.Fb="ad_storage";Qm(g,h,t)}}}}mp(kp(c.gclid,c.gclsrc),!1,b)})},op=function(a,b){var c=bp[a];if(void 0!==c)return b+c},pp=function(a){return 0!==rp(a.split(".")).length?1E3*(Number(a.split(".")[1])|| +0):0};function gp(a){var b=rp(a.split("."));return 0===b.length?null:{version:b[0],fa:b[2],timestamp:1E3*(Number(b[1])||0),labels:b.slice(3)}}function rp(a){return 3>a.length||"GCL"!==a[0]&&"1"!==a[0]||!/^\d+$/.test(a[1])||!ap.test(a[2])?[]:a} +var sp=function(a,b,c,d,e){if(Ja(b)&&vm(z)){var f=jp(e),g=function(){for(var h={},l=0;lb};var Ep=/[A-Z]+/,Fp=/\s/,Gp=function(a,b){if(k(a)){a=Ta(a);var c=a.indexOf("-");if(!(0>c)){var d=a.substring(0,c);if(Ep.test(d)){var e=a.substring(c+1),f;if(b&&S(64)){var g=function(n){var p=n.indexOf("/");return 0>p?[n]:[n.substring(0,p),n.substring(p+1)]};f=g(e);if("DC"===d&&2===f.length){var h=g(f[1]);2===h.length&&(f[1]=h[0],f.push(h[1]))}}else{f=e.split("/");for(var l=0;lq;q++){var r=p[q].src;if(r){r=r.toLowerCase();if(0===r.indexOf(l)){f=3;break a}1===n&&0===r.indexOf(h)&&(n=2)}}f=n}else f=e;return(2===f||d||"http:"!=z.location.protocol?a:b)+c};var Vp=function(a,b,c){this.target=a;this.eventName=b;this.h=c;this.m={};this.metadata=I(c.eventMetadata||{});this.isAborted=!1};Vp.prototype.copyToHitData=function(a,b){var c=T(this.h,a);void 0!==c?this.m[a]=c:void 0!==b&&(this.m[a]=b)};var Wp=function(a,b,c){var d=Ki(a.target.aa);return d&&d.hasOwnProperty(b)?d[b]:c};function Xp(a){return{getDestinationId:function(){return a.target.aa},getEventName:function(){return a.eventName},setEventName:function(b){a.eventName=b},getHitData:function(b){return a.m[b]},setHitData:function(b,c){a.m[b]=c},setHitDataIfNotDefined:function(b,c){void 0===a.m[b]&&(a.m[b]=c)},copyToHitData:function(b,c){a.copyToHitData(b,c)},getMetadata:function(b){return a.metadata[b]},setMetadata:function(b,c){a.metadata[b]=c},isAborted:function(){return a.isAborted},abort:function(){a.isAborted= +!0},getFromEventContext:function(b){return T(a.h,b)},Pf:function(){return a},getHitKeys:function(){return Object.keys(a.m)}}};var Zp=function(a){var b=Yp[a.target.aa];if(!a.isAborted&&b)for(var c=Xp(a),d=0;dVa()-d){xb("TAGGING",9);return}}else try{if(50<=G.querySelectorAll('iframe[allow="join-ad-interest-group"][data-tagging-id*="-"]').length){xb("TAGGING",10);return}}catch(e){}rc(a,void 0,{allow:"join-ad-interest-group"},{taggingId:b,loadTime:Va()},c)}function Bq(){return"https://td.doubleclick.net"};var Cq=RegExp("^UA-\\d+-\\d+%3A[\\w-]+(?:%2C[\\w-]+)*(?:%3BUA-\\d+-\\d+%3A[\\w-]+(?:%2C[\\w-]+)*)*$"),Dq=/^~?[\w-]+(?:\.~?[\w-]+)*$/,Eq=/^\d+\.fls\.doubleclick\.net$/,Fq=/;gac=([^;?]+)/,Gq=/;gacgb=([^;?]+)/,Hq=/;gclaw=([^;?]+)/,Iq=/;gclgb=([^;?]+)/; +function Jq(a,b){if(Eq.test(G.location.host)){var c=G.location.href.match(b);return c&&2==c.length&&c[1].match(Cq)?decodeURIComponent(c[1]):""}var d=[],e;for(e in a){for(var f=[],g=a[e],h=0;hc.indexOf(h))if(l&&0c.indexOf(l[t])){N(11);r=!1;break a}}else{r=!1;break a}r=!0}n=r}var u=!1;if(d){var v=0<=e.indexOf(h);if(v)u=v;else{var w=Oa(e,l||[]);w&&N(10);u=w}}var x=!n||u;x||!(0<=l.indexOf("sandboxedScripts"))||c&&-1!==c.indexOf("sandboxedScripts")||(x=Oa(e,dt));return f[h]=x}},ft=!1; +var et=function(){return at.test(z.location&&z.location.hostname)};var ht="",it=[];function jt(a){var b="";ht&&(b="&dl="+encodeURIComponent(ht));0ut){ut++;try{G.documentElement.doScroll("left"),wt()}catch(a){z.setTimeout(xt,50)}}} +var zt=function(){tt=!1;ut=0;if("interactive"==G.readyState&&!G.createEventObject||"complete"==G.readyState)wt();else{tc(G,"DOMContentLoaded",wt);tc(G,"readystatechange",wt);if(G.createEventObject&&G.documentElement.doScroll){var a=!0;try{a=!z.frameElement}catch(b){}a&&xt()}tc(z,"load",wt)}},At=function(a){tt?a():vt.push(a)};var Bt=function(){this.C=0;this.h={}};Bt.prototype.addListener=function(a,b,c){var d=++this.C;this.h[a]=this.h[a]||{};this.h[a][String(d)]={listener:b,ob:c};return d};Bt.prototype.m=function(a,b){var c=this.h[a],d=String(b);if(!c||!c[d])return!1;delete c[d];return!0};Bt.prototype.B=function(a,b){var c=[];m(this.h[a],function(d,e){0>c.indexOf(e.listener)&&(void 0===e.ob||0<=b.indexOf(e.ob))&&c.push(e.listener)});return c};var Ct=function(a,b,c){return{entityType:a,indexInOriginContainer:b,nameInOriginContainer:c,originContainerId:gl()}};function Dt(a,b){if(data.entities&&data.entities[a])return data.entities[a][b]};var Ft=function(a,b){this.h=!1;this.C=[];this.J={tags:[]};this.R=!1;this.m=this.B=0;Et(this,a,b)},Gt=function(a,b,c,d){if(Oh.hasOwnProperty(b)||"__zone"===b)return-1;var e={};Uc(d)&&(e=I(d,e));e.id=c;e.status="timeout";return a.J.tags.push(e)-1},Ht=function(a,b,c,d){var e=a.J.tags[b];e&&(e.status=c,e.executionTime=d)},It=function(a){if(!a.h){for(var b=a.C,c=0;c=a.B&&It(a)})},Kt=function(a){a.R=!0;a.m>=a.B&&It(a)};var Lt={},Nt=function(){return z[Mt()]},Ot=!1; +function Mt(){return z.GoogleAnalyticsObject||"ga"} +var Rt=function(a){},St=function(a,b){return function(){var c=Nt(),d=c&&c.getByName&&c.getByName(a);if(d){var e=d.get("sendHitTask");d.set("sendHitTask",function(f){var g=f.get("hitPayload"),h=f.get("hitCallback"),l=0>g.indexOf("&tid="+b);l&&(f.set("hitPayload",g.replace(/&tid=UA-[0-9]+-[0-9]+/,"&tid="+b),!0),f.set("hitCallback",void 0,!0));e(f);l&&(f.set("hitPayload", +g,!0),f.set("hitCallback",h,!0),f.set("_x_19",void 0,!0),e(f))})}}};var Yt={},Zt={};function $t(a,b){if(Al){var c;c=b.match(/^(gtm|gtag)\./)?encodeURIComponent(b):"*";Yt[a]="&e="+c+"&eid="+a;Kl(a)}}function au(a){var b=a.eventId,c=a.Gb;if(!Yt[b])return"";var d=Zt[b]?"":"&es=1";d+=Yt[b];c&&(Zt[b]=!0);return d};var bu={};function cu(a,b){Al&&(bu[a]=bu[a]||{},bu[a][b]=(bu[a][b]||0)+1)}function du(a){var b=a.eventId,c=a.Gb,d=bu[b]||{},e=[],f;for(f in d)d.hasOwnProperty(f)&&e.push(""+f+d[f]);c&&delete bu[b];return e.length?"&md="+e.join("."):""};var eu={},fu={aev:"1",c:"2",jsm:"3",v:"4",j:"5",smm:"6",rmm:"7",input:"8"}; +function gu(a,b,c){if(Al){eu[a]=eu[a]||[];var d=fu[b]||"0",e;e=c instanceof z.Element?"1":c instanceof z.Event?"2":c instanceof z.RegExp?"3":c===z?"4":c===G?"5":c instanceof z.Promise?"6":c instanceof z.Storage?"7":c instanceof z.Date?"8":c instanceof z.History?"9":c instanceof z.Performance?"a":c===z.crypto?"b":c instanceof z.Location?"c":c instanceof z.Navigator?"d":"object"!==typeof c||Uc(c)?"0":"e";eu[a].push(""+d+e)}} +function hu(a){var b=a.eventId,c=eu[b]||[];if(!c.length)return"";a.Gb&&delete eu[b];return"&pcr="+c.join(".")};var iu={},ju={};function ku(a,b,c){if(Al&&b){var d=Uk(b);iu[a]=iu[a]||[];iu[a].push(c+d);var e=b["function"];if(!e)throw Error("Error: No function name given for function call.");var f=(Qe[e]?"1":"2")+d;ju[a]=ju[a]||[];ju[a].push(f);Kl(a)}}function lu(a){var b=a.eventId,c=a.Gb,d="",e=iu[b]||[];e.length&&(d+="&tr="+e.join("."));var f=ju[b]||[];f.length&&(d+="&ti="+f.join("."));c&&(delete iu[b],delete ju[b]);return d};function mu(a,b,c,d){var e=Oe[a],f=nu(a,b,c,d);if(!f)return null;var g=af(e[oe.lj],c,[]);if(g&&g.length){var h=g[0];f=mu(h.index,{P:f,W:1===h.Bj?b.terminate:f,terminate:b.terminate},c,d)}return f} +function nu(a,b,c,d){function e(){if(f[oe.Ck])h();else{var w=bf(f,c,[]),x=w[oe.Zj];if(null!=x)for(var y=0;ye?1:dh?1:ga.length)&&k(a[1])){var e={};if(2F.indexOf(A)&&F.push(A)}}else{Mv(f.id);var J=f.id,K=e[O.g.Qd]||"default";K=K.toString().split(",");for(var P=0;PQ.indexOf(J)&&Q.push(J)}}delete e[O.g.Qd];var da=b.eventMetadata||{};da.hasOwnProperty("is_external_event")||(da.is_external_event=!b.fromContainerExecution);b.eventMetadata=da;delete e[O.g.mc];for(var aa=u?[f.id]:el(),X=0;X< +aa.length;X++){var U=e,qa=I(b),ka=Gp(aa[X],qa.isGtmEvent);ka&&xv.push("config",[U],ka,qa)}}}}},consent:function(a,b){if(3===a.length){N(39);var c=Rv(a,b),d=a[1];"default"===d?Lk(a[2]):"update"===d?Mk(a[2],c):"declare"===d?b.fromContainerExecution&&Kk(a[2]):"core_platform_services"===d&&Nk(a[2])}},event:function(a,b){var c=a[1];if(!(2>a.length)&&k(c)){var d;if(2uw&&(uw=u)}zw=!1}}}return!a} +function Jw(){if(S(32)){var a=Kw();}var e=Hw();try{Yv(gl())}catch(f){}return e}function Wu(a){if(uwn)for(N(4),c.pruned=!0;this.length>n;)this.shift();var p="boolean"!==typeof l||l;return Hw()&&p};var e=b.slice(0).map(function(f){return a(f)});ww.push.apply(ww,e);Kw()&&(S(32)&&ks(),H(Jw))},Kw=function(){var a=!0;return a};function Mw(a){if(null==a||0===a.length)return!1;var b=Number(a),c=Va();return bc-9E5}function Nw(a){return a&&0===a.indexOf("pending:")?Mw(a.substr(8)):!1}; +var Ow=function(a,b){for(var c=0;cg||200<=g)){var p;switch(l){case "promotion":p=c;break;case "product":p=d;break;case "impression":if(0>n||200<=n)return;p=e}p&&("impression"!==l?(p[g]||(p[g]={}),p[g][h]||(p[g][h]=b)):void 0!==n&&(p[n]||(p[n]=[]),p[n][g]||(p[n][g]={}),p[n][g][h]||(p[n][g][h]=b)))}},bx=function(a){if($w[a])return $w[a];var b=Ww(a);if(b)return b;var c=a.match(ax);if(c)return"ua_content_group_"+Number(c[1])},Ww=function(a){var b=a.match(cx),c;if(b){if("cd"===b[1])c="ua_dimension";else if("cm"===b[1])c="ua_metric"; +else return;var d=Number(b[2]);if(1<=d&&200>=d)return c+"_"+d}},$w={aid:O.g.jk,aiid:O.g.kk,an:O.g.lk,av:O.g.mk,cc:O.g.Lc,cd:O.g.qf,ci:O.g.Mc,cid:O.g.cb,ck:O.g.Rc,cm:O.g.Nc,cn:O.g.Oc,cs:O.g.Qc,cu:O.g.sa,dh:O.g.nf,dl:O.g.ia,dp:O.g.Qb,dr:O.g.Fa,dt:O.g.Ab,exd:O.g.qk,exf:O.g.rk,sf:O.g.uk,sr:O.g.Bb,uid:O.g.Ba,ul:O.g.za,utv:O.g.tk},dx={col:O.g.Hd,cos:O.g.cf,pal:O.g.Uc,ta:O.g.qg,tcc:O.g.rg,ti:O.g.na,ts:O.g.Vc,tt:O.g.ef},Pw={add:O.g.Yb,checkout:O.g.Kb,checkout_option:O.g.Hd,click:O.g.ac,detail:O.g.Ia,purchase:O.g.xa, +refund:O.g.bc,remove:O.g.Zb},Tw={cr:"creative_name",id:"promotion_id",nm:"promotion_name",ps:"creative_slot"},Vw={br:"item_brand",ca:"item_category",cc:"coupon",id:"item_id",nm:"item_name",pr:"price",ps:"index",qt:"quantity",va:"item_variant"},ex={ea:1,ec:1,el:1,ev:1,pa:1,promoa:1,t:1,tr:1,utc:1,utl:1,utt:1},cx=/^(cd|cm)([1-9][0-9]{0,2})$/,ax=/^cg([1-5])$/,Sw=/^promo([1-9][0-9]{0,2})(id|cr|nm|ps)$/,Uw=/^pr([0-9]{0,3})([a-z]{2}[0-9]{0,3})$/,Xw=/^il([0-9]{0,3})pi([0-9]{0,3})([a-z]{2}[0-9]{0,3})$/,fx= +/^il([1-9][0-9]{0,2})nm$/,gx=function(a){var b=el().filter(function(aa){return 0===aa.indexOf("G-")});if(b.length){var c={},d=function(aa,X){void 0!==X&&void 0===c[aa]&&(c[aa]=X)},e={},f=function(aa,X){void 0!==X&&void 0===e[aa]&&(e[aa]=X)},g=a.hitPayload;if("string"!==typeof g)N(126);else{for(var h={},l=[],n=[],p=[],q=[],r=g.split("&"),t=0;tA&&!q[A]&&(q[A]=w)}else Zw(v,w,l,n,p)}}}var B=Rw(h),D=B.ql,F=B.ol,J=B.pl,K=B.rl,P;if(h.pa||h.promoa||l.length||p.length||!D)P=Qw(h,l,p);P&&h.tr&&f(O.g.da,h.tr);var Q;P===O.g.sb||P===O.g.ab?Q=l:P===O.g.Za?(Ow(p,q),Q=Array.prototype.concat.apply([],p)):P&&(Q=n);Q&&Q.length&&f(O.g.X,Q.filter(function(aa){return!!aa}));if(D||P){d(O.g.nk,F);d(O.g.pk,J);d(O.g.da,K);d(O.g.af,a.allowAdFeatures);d(O.g.ba,a.allowAdPersonalizationSignals); +d(O.g.Na,a.cookieDomain);d(O.g.Ea,a.cookieExpires);d(O.g.Oa,a.cookieFlags);d(O.g.Tc,a.cookiePath);d(O.g.La,"_ga"===a.cookieName?void 0:a.cookieName);d(O.g.fb,a.cookieUpdate);d(O.g.Ob,!0);D&&D!==P&&Bw(Su(b,D,c));var da=I(c);I(e,da);P&&Bw(Su(b,P,da))}else N(126)}}}; +var hx=function(){var a=kc("google_tag_data",{}),b=a.slq&&a.slq[gl()]&&a.slq[gl()].q;if(!Ja(b))return;for(var c=0;c=p?0:Math.round(q/p*100),t=G.hidden?!1:.5<=Oi(c);d();var u=void 0;void 0!==b&&(u=[b]);var v=lx(c,"gtm.video",u);v["gtm.videoProvider"]="youtube";v["gtm.videoStatus"]=g;v["gtm.videoUrl"]=n.url;v["gtm.videoTitle"]=n.title;v["gtm.videoDuration"]= +Math.round(p);v["gtm.videoCurrentTime"]=Math.round(q);v["gtm.videoElapsedTime"]=Math.round(f);v["gtm.videoPercent"]=r;v["gtm.videoVisible"]=t;return v},Oj:function(){e=Va()},fd:function(){d()}}};var Kx=z.clearTimeout,Lx=z.setTimeout,V=function(a,b,c,d){if($m()){b&&H(b)}else return pc(a,b,c,d)},Mx=function(){return new Date},Nx=function(){return z.location.href},Ox=function(a){return $i(bj(a),"fragment")},Px=function(a){return aj(bj(a))},Qx=function(a,b){return ki(a,b||2)},Rx=function(a,b,c){return b?Cw(a,b,c):Bw(a)},Sx=function(a,b){z[a]=b},W=function(a,b,c){b&&(void 0===z[a]||c&&!z[a])&&(z[a]=b);return z[a]}, +Tx=function(a,b,c){return ym(a,b,void 0===c?!0:!!c)},Ux=function(a,b,c){return 0===Qm(a,b,c)},Vx=function(a,b){if($m()){b&&H(b)}else rc(a,b)},Wx=function(a){return!!px(a,"init",!1)},Xx=function(a){nx(a,"init",!0)},Yx=function(a,b,c){Yc(a)||gu(c,b,a)}; +function wy(a,b){function c(g){var h=bj(g),l=$i(h,"protocol"),n=$i(h,"host",!0),p=$i(h,"port"),q=$i(h,"path").toLowerCase().replace(/\/$/,"");if(void 0===l||"http"===l&&"80"===p||"https"===l&&"443"===p)l="web",p="default";return[l,n,p,q]}for(var d=c(String(a)),e=c(String(b)),f=0;fa[c]||b.push(a[c]);b.sort(function(d,e){return d-e});return b},RA=function(a){a=void 0===a?[]:a;for(var b=[],c=0;ca[c]||(b[c]=a[c]/100);b.sort(function(d,e){return d- +e});return b},SA=function(a,b){var c,d;function e(){t=Jx(function(){return{url:w,title:x,oh:v,zj:a.getCurrentTime(),playbackRate:y}},b.ob,a.getIframe());v=0;x=w="";y=1;return f}function f(F){switch(F){case 1:v=Math.round(a.getDuration());w=a.getVideoUrl();if(a.getVideoData){var J=a.getVideoData();x=J?J.title:""}y=a.getPlaybackRate();b.jh?Bw(t.createEvent("start")):t.fd();u=PA(b.Qh,b.Ph,a.getDuration());return g(F);default:return f}}function g(){A=a.getCurrentTime();B=Ua().getTime();t.Oj();r();return h} +function h(F){var J;switch(F){case 0:return n(F);case 2:J="pause";case 3:var K=a.getCurrentTime()-A;J=1a.getDuration())return;F=(J.Ca-a.getCurrentTime())/y;if(0>F&&(u.shift(),0===u.length))return}while(0>F);c=function(){d=0;c=p;0d.Ee+60*f))return a;var g=yD(b);if(!g)return a;g.Ec=d.Ec+1;var h;return null!=(h=zD(g.sessionId,g.Ec,g.md,g.Ee,g.Ch,g.Cc,g.ue))?h:b},DD=function(a,b){var c=b.metadata.cookie_options,d=BD(b,c),e=Ym(a,CD[0],c.domain,c.path),f={Fb:O.g.O,domain:c.domain,path:c.path,expires:c.Db?new Date(Va()+1E3*c.Db):void 0,flags:c.flags};Qm(d, +void 0,f);return 1!==Qm(d,e,f)},ED=function(a){var b=a.metadata.cookie_options,c=BD(a,b),d=Xm(c,b.domain,b.path,CD,O.g.O);if(!d)return d;var e=ym(c,void 0,void 0,O.g.O);if(d&&1l.length)){var n=Number(l[5]);n&&(!g||n>g)&&(g=n,f=e[h])}}f&&!f.endsWith(d)&&(N(115),d=f.split(".").slice(2).join("."))}return d},zD=function(a,b,c,d,e,f,g){if(a&&b){var h=[a,b,Qa(c),d,e];h.push(f?"1":"0");h.push(g||"0");return h.join(".")}}, +CD=["GS1"],BD=function(a,b){return b.prefix+"_ga_"+a.target.I[0]},yD=function(a){if(a){var b=a.split(".");if(!(5>b.length||7b.length&&N(67);var c=Number(b[1]),d=Number(b[3]),e=Number(b[4]||0);c||N(118);d||N(119);isNaN(e)&&N(120);if(!S(35)||c&&d&&!isNaN(e))return{sessionId:b[0],Ec:c,md:!!Number(b[2]),Ee:d,Ch:e,Cc:"1"===b[5],ue:"0"!==b[6]?b[6]:void 0}}}},FD=function(a){return zD(a.m[O.g.jb],a.m[O.g.Vd],a.m[O.g.Ud],Math.floor(a.metadata.event_start_timestamp_ms/1E3),a.metadata.join_timer_sec|| +0,!!a.metadata[O.g.ff],a.m[O.g.Wc])}; +var GD=function(a){var b=T(a.h,O.g.Aa),c=a.h.B[O.g.Aa];if(c===b)return c;var d=I(b);c&&c[O.g.T]&&(d[O.g.T]=(d[O.g.T]||[]).concat(c[O.g.T]));return d},HD=function(a,b){var c=Bo(!0);return"1"!==c._up?{}:{clientId:c[a],Zf:c[b]}},ID=function(a,b,c){var d=Bo(!0),e=d[b];e&&(tD(a,e,2),wD(e,a));var f=d[c];f&&DD(f,a);return{clientId:e,Zf:f}},JD=!1,KD=function(a){var b=GD(a)||{},c=a.metadata.cookie_options,d=c.prefix+"_ga",e=BD(a,c),f={};Ko(b[O.g.oc],!!b[O.g.T])&&(f=ID(a,d,e),f.clientId&&f.Zf&&(JD=!0));b[O.g.T]&& +Ho(function(){var g={},h=uD(a);h&&(g[d]=h);var l=ED(a);l&&(g[e]=l);var n=ym("FPLC",void 0,void 0,O.g.O);n.length&&(g._fplc=n[0]);return g},b[O.g.T],b[O.g.Pb],!!b[O.g.zb]);return f},MD=function(a){if(!T(a.h,O.g.kb))return{};var b=a.metadata.cookie_options,c=b.prefix+"_ga",d=BD(a,b);Io(function(){var e;if(wk("analytics_storage"))e={};else{var f={};e=(f._up="1",f[c]=a.m[O.g.cb],f[d]=FD(a),f)}return e},1);return!wk("analytics_storage")&&LD()?HD(c,d):{}},LD=function(){var a=Zi(z.location,"host"),b=Zi(bj(G.referrer), +"host");return a&&b?a===b||0<=a.indexOf("."+b)||0<=b.indexOf("."+a)?!0:!1:!1},ND=function(a){if(!a)return a;var b=String(a);b=Ao(b);return b=Ao(b,"_ga")};var OD=function(){var a=Va(),b=a+864E5,c=20,d=5E3;return function(){var e=Va();e>=b&&(b=e+864E5,d=5E3);if(1>d)return!1;c=Math.min(c+(e-a)/1E3*5,20);a=e;if(1>c)return!1;d--;c--;return!0}}; +var PD=function(a,b){zk()&&(a.gcs=lm(),S(54)&&(a.gcd=pm()),b.metadata.is_consent_update&&(a.gcu="1"))},SD=function(a){if(a.metadata.is_merchant_center)return"https://www.merchant-center-analytics.goog/mc/collect";var b=Rs(Ts(a.h),"/g/collect");if(b)return b;var c=Wp(a,O.g.ib,T(a.h,O.g.ib));c=c||gD(a);var d=T(a.h,O.g.ub);return c&&!wi()&&!1!==d&&VB()&&wk(O.g.F)&&wk(O.g.O)?QD():RD()}, +TD=!1;TD=!0;var UD={};UD[O.g.cb]="cid";UD[O.g.hf]="_fid";UD[O.g.Bg]="_geo";UD[O.g.xb]="gdid";UD[O.g.Rd]="ir";UD[O.g.za]="ul";UD[O.g.Zc]="_rdi";UD[O.g.Bb]="sr";UD[O.g.Xi]="tid";UD[O.g.vf]="tt";UD[O.g.wf]="ec_mode";UD[O.g.fj]="gtm_up";UD[O.g.Xd]="uaa",UD[O.g.Yd]="uab",UD[O.g.Zd]="uafvl",UD[O.g.ae]="uamb",UD[O.g.be]="uam",UD[O.g.ce]="uap",UD[O.g.de]="uapv",UD[O.g.ee]="uaw";var VD={};VD[O.g.Lc]="cc";VD[O.g.Mc]="ci";VD[O.g.Nc]="cm";VD[O.g.Oc]= +"cn";VD[O.g.Qc]="cs";VD[O.g.Rc]="ck";VD[O.g.sa]="cu";VD[O.g.ia]="dl";VD[O.g.Fa]="dr";VD[O.g.Ab]="dt";VD[O.g.Ud]="seg";VD[O.g.jb]="sid";VD[O.g.Vd]="sct";VD[O.g.Ba]="uid";S(40)&&(VD[O.g.Qb]="dp");var WD={};WD[O.g.Id]="_et";WD[O.g.wb]="edid";var XD={};XD[O.g.Lc]="cc";XD[O.g.Mc]="ci";XD[O.g.Nc]="cm";XD[O.g.Oc]="cn";XD[O.g.Qc]="cs";XD[O.g.Rc]="ck";var YD={},ZD=Object.freeze((YD[O.g.oa]=1,YD)),RD=function(){var a="www";TD&&yi()&&(a=yi());return"https://"+a+".google-analytics.com/g/collect"},QD=function(){var a; +TD&&""!==yi()&&(a=yi());return"https://"+(a?a+".":"")+"analytics.google.com/g/collect"},$D=function(a,b,c){var d={},e={},f={};d.v="2";d.tid=a.target.aa;gD(a)&&!wi()&&(d._ono=1);d.gtm=bn();d._p=rD();c&&(d.em=c);a.metadata.create_google_join&&(d._gaz=1);PD(d,a);S(56)&&(Pk()&&(d.dma_cps=qm()),xi()&&(d.dma="1"));var g=a.m[O.g.xb];g&&(d.gdid=g);e.en=String(a.eventName);a.metadata.is_first_visit&& +(e._fv=a.metadata.is_first_visit_conversion?2:1);a.metadata.is_new_to_site&&(e._nsi=1);a.metadata.is_session_start&&(e._ss=a.metadata.is_session_start_conversion?2:1);a.metadata.is_conversion&&(e._c=1);a.metadata.is_external_event&&(e._ee=1);if(a.metadata.is_ecommerce){var h=a.m[O.g.X]||T(a.h,O.g.X);if(Ja(h))for(var l=0;ll;l++)e["pr"+(l+1)]=Ff(h[l])}var n=a.m[O.g.wb];n&&(e.edid=n);var p=function(r,t){if("object"!==typeof t||!ZD[r]){var u="ep."+r,v="epn."+r;r=Ia(t)?v:u;var w=Ia(t)?u: +v;e.hasOwnProperty(w)&&delete e[w];e[r]=String(t)}};m(a.m,function(r,t){if(void 0!==t&&!xh.hasOwnProperty(r)){null===t&&(t="");var u;r!==O.g.Wc?u=!1:a.metadata.euid_mode_enabled?(d.ecid=t,u=!0):u=void 0;if(!u&&r!==O.g.ff){var v=t;!0===t&&(v="1");!1===t&&(v="0");v=String(v);var w;if(UD[r])w=UD[r],d[w]=v;else if(VD[r])w=VD[r],f[w]=v;else if(WD[r])w=WD[r],e[w]=v;else if("_"===r.charAt(0))d[r]=v;else{var x;XD[r]?x=!0:r!==O.g.Pc?x=!1:("object"!==typeof t&&p(r,t),x=!0);x||p(r,t)}}}});(function(r){hD(a)&& +"object"===typeof r&&m(r||{},function(t,u){"object"!==typeof u&&(d["sst."+t]=String(u))})})(a.m[O.g.oe]);var q=a.m[O.g.Ra]||{};km(a.h)&&WB()||(q._npa="1");S(14)&&!1===T(a.h,O.g.ub)&&(d.ngs="1");m(q,function(r,t){void 0!==t&&((null===t&&(t=""),r!==O.g.Ba||f.uid)?b[r]!==t&&(e[(Ia(t)?"upn.":"up.")+String(r)]=String(t),b[r]=t):f.uid=String(t))});return Hf.call(this,{Sa:d,Fc:f,ph:e},SD(a),hD(a))||this};ra($D,Hf); +var aE=function(a,b){return a.replace(/\$\{([^\}]+)\}/g,function(c,d){return b[d]||c})},bE=function(a){var b=a.search;return a.protocol+"//"+a.hostname+a.pathname+(b?b+"&richsstsse":"?richsstsse")},cE=function(a){var b={},c="",d=a.pathname.indexOf("/g/collect");0<=d&&(c=a.pathname.substring(0,d));b.transport_url=a.protocol+"//"+a.hostname+c;return b},dE=function(a,b){var c=new z.XMLHttpRequest;c.withCredentials=!0;var d=b?"POST":"GET",e="",f=0,g=bj(a),h=cE(g),l=bE(g);c.onprogress=function(n){if(200=== +c.status){e+=c.responseText.substring(f);f=n.loaded;for(var p=aE(e,h),q=p.indexOf("\n\n");-1!==q;){var r;a:{var t=fa(p.substring(0,q).split("\n")),u=t.next().value,v=t.next().value;if(u.startsWith("event: message")&&v.startsWith("data: "))try{r=JSON.parse(v.substring(v.indexOf(":")+1));break a}catch(D){}r=void 0}var w=r;if(w){var x=w.send_pixel||[];if(Array.isArray(x))for(var y=0;ythis.m){var f=z.setTimeout,g;hD(a)?jE?(jE=!1,g=kE):g=lE:g=5E3;this.m=f.call(z,function(){return c.flush()},g)}}else{var h=Kf(d,this.C++); +gE(d.m,h.Mh,h.body,d.C);var l=a.metadata.create_dc_join,n=a.metadata.create_google_join,p=!1!==T(a.h,O.g.Da),q=km(a.h),r={eventId:a.h.eventId,priorityId:a.h.priorityId},t={om:l,qm:n,nl:Ai(),Mk:p,Lk:q,Al:wi(),zl:a.metadata.euid_mode_enabled,Wm:r};hE(d,t)}gs(a)};iE.prototype.add=function(a){a.metadata.euid_mode_enabled&&!lD?this.R(a):this.B(a)};iE.prototype.flush=function(){if(this.h.events.length){var a=Lf(this.h,this.C++);gE(this.h.h,a.Mh,a.body,this.h.m);this.h=new If;0<=this.m&&(z.clearTimeout(this.m), +this.m=-1)}};iE.prototype.R=function(a){var b=this,c=iD(a);c?uh(c,function(d){b.B(a,1===d.split("~").length?void 0:d)}):this.B(a)};var fE=function(a,b,c){var d=a+"?"+b;if(c)try{ic.sendBeacon&&ic.sendBeacon(d,c)}catch(e){xb("TAGGING",15)}else zc(d)},kE=cn('',500),lE=cn('',5E3),jE=!0;var mE=function(a,b,c){void 0===c&&(c={});if("object"===typeof b)for(var d in b)mE(a+"."+d,b[d],c);else c[a]=b;return c},nE=function(a){if(hD(a)){var b=function(d){var e=mE(O.g.oa,d);m(e,function(f,g){a.m[f]=g})},c=T(a.h,O.g.oa);void 0!==c?b(c):b(a.metadata.user_data);a.metadata.user_data=void 0}};var oE=window,pE=document,qE=function(a){var b=oE._gaUserPrefs;if(b&&b.ioo&&b.ioo()||pE.documentElement.hasAttribute("data-google-analytics-opt-out")||a&&!0===oE["ga-disable-"+a])return!0;try{var c=oE.external;if(c&&c._gaUserPrefs&&"oo"==c._gaUserPrefs)return!0}catch(f){}for(var d=sm("AMP_TOKEN",String(pE.cookie),!0),e=0;ema.Ee+60*Ha&&(Na=!0,ma.sessionId=String(ka),ma.Ec++,ma.md=!1,ma.ue=void 0);if(Na)a.metadata.is_session_start=!0,P.sl(a);else if(P.kl()>fb||a.eventName==O.g.fc)ma.md=!0;a.metadata.euid_mode_enabled?T(a.h,O.g.Ba)?ma.Cc=!0:(ma.Cc&&(ma.ue=void 0),ma.Cc=!1):ma.Cc=!1;var ob=ma.ue;if(a.metadata.euid_mode_enabled){var fc=T(a.h,O.g.Wc),cd=fc?1:8;fc||(fc=ob,cd=4);fc||(fc= +Tm(),cd=7);var df=cd,uu=a.metadata.enhanced_client_id_source;if(void 0===uu||df<=uu)a.m[O.g.Wc]=fc.toString(),a.metadata.enhanced_client_id_source=df}Q?(a.copyToHitData(O.g.jb,ma.sessionId),a.copyToHitData(O.g.Vd,ma.Ec),a.copyToHitData(O.g.Ud,ma.md?1:0)):(a.m[O.g.jb]=ma.sessionId,a.m[O.g.Vd]=ma.Ec,a.m[O.g.Ud]=ma.md?1:0);a.metadata[O.g.ff]=ma.Cc?1:0;AE(a);if(!T(a.h,O.g.Ob)||!T(a.h,O.g.yb)){var vu="",wg=G.location;if(wg){var Bi=wg.pathname||"";"/"!=Bi.charAt(0)&&(Bi="/"+Bi);vu=wg.protocol+"//"+wg.hostname+ +Bi+wg.search}a.copyToHitData(O.g.ia,vu);var wG=a.copyToHitData,xG=O.g.Fa,Ci;a:{var wu=ym("_opt_expid",void 0,void 0,O.g.O)[0];if(wu){var xu=decodeURIComponent(wu).split("$");if(3===xu.length){Ci=xu[2];break a}}if(void 0!==Lh.ga4_referrer_override)Ci=Lh.ga4_referrer_override;else{var yu=ki("gtm.gtagReferrer."+a.target.aa);Ci=yu?""+yu:G.referrer}}wG.call(a,xG,Ci||void 0);a.copyToHitData(O.g.Ab,G.title);a.copyToHitData(O.g.za,(ic.language||"").toLowerCase());var zu=Li();a.copyToHitData(O.g.Bb,zu.width+ +"x"+zu.height);S(40)&&a.copyToHitData(O.g.Qb)}a.metadata.create_dc_join=!1;a.metadata.create_google_join=!1;if(!(S(68)&&hD(a)||a.metadata.is_merchant_center||!1===T(a.h,O.g.ub))&&VB()&&wk(O.g.F)){var Di=Wp(a,O.g.ib,T(a.h,O.g.ib));Di=Di||gD(a);(a.metadata.is_session_start||T(a.h,O.g.jf))&&(a.metadata.create_dc_join=!!Di);var Au;Au=a.metadata.join_timer_sec;Di&&0===(Au||0)&&(a.metadata.join_timer_sec= +60,a.metadata.create_google_join=!0)}BE(a);Bh.hasOwnProperty(a.eventName)&&(a.metadata.is_ecommerce=!0,a.copyToHitData(O.g.X),a.copyToHitData(O.g.sa));a.copyToHitData(O.g.vf);for(var Bu=T(a.h,O.g.kf)||[],Dm=0;Dmn.length){if(0===n.length)continue;break a}e&&e[l]&&e[l].length&&ff(n,e[l]);try{JF.execute(n),S(63)&&Al&&50===n[0]&&h.push(n[1])}catch(u){}}S(63)&&(Ye=h)}if(void 0!==a)for(var p=["sandboxedScripts"],q=0;qc.indexOf(g))throw e(f,{},"Prohibited URL component: "+g);if("query"===g&&d){if(!h)throw e(f,{},"Prohibited from getting entire URL query when query keys are specified.");if(!k(h))throw e(f,{},"Query key must be a string.");if(0>d.indexOf(h))throw e(f,{},"Prohibited query key: "+h);}}else if(c)throw e(f,{}, +"Prohibited from getting entire URL when components are specified.");},M:a}})}(); +Z.o.gct=["google"],function(){function a(d){for(var e=[],f=0;f seems to be a fix + return $(this).val($(this).find("option[selected='selected']").val()); + }); + + if ($(".scale-section-answers, .scale_team_feedback").length > 0) { + // todo => clean + $('input[type="range"]').rangeslider({ polyfill: false }); + $('input[type="range"]').change(); + } + + if ($('canvas.graph-canvas').length) { + new _graph2.default($('canvas#view').data('fetch-url')); + //TODO remove when released for some time + if (!sessionStorage.getItem("seenHelp")) { + $("#graph_help").show(); + sessionStorage.setItem("seenHelp", true); + } + // new Graph(); + } + + new _scale_team_users2.default(); + new _project2.default(); + new _sentry2.default(); + new _mailer2.default(); + new _stats2.default(); + }); + + // Local assets + + + // Components + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.Init = Init; + + __webpack_require__(2); + + var _jquery = __webpack_require__(5); + + var _jquery2 = _interopRequireDefault(_jquery); + + var _react = __webpack_require__(28); + + var _react2 = _interopRequireDefault(_react); + + var _reactDom = __webpack_require__(64); + + var _reactDom2 = _interopRequireDefault(_reactDom); + + __webpack_require__(320); + + __webpack_require__(321); + + __webpack_require__(349); + + var _simplemde = __webpack_require__(350); + + var _simplemde2 = _interopRequireDefault(_simplemde); + + var _autosize = __webpack_require__(370); + + var _autosize2 = _interopRequireDefault(_autosize); + + var _ransack = __webpack_require__(371); + + var _ransack2 = _interopRequireDefault(_ransack); + + var _chartkick = __webpack_require__(372); + + var _chartkick2 = _interopRequireDefault(_chartkick); + + var _user_tooltip = __webpack_require__(373); + + var _user_tooltip2 = _interopRequireDefault(_user_tooltip); + + var _typeahead = __webpack_require__(374); + + var _typeahead2 = _interopRequireDefault(_typeahead); + + var _modal = __webpack_require__(377); + + var _modal2 = _interopRequireDefault(_modal); + + var _simple_form = __webpack_require__(379); + + var _simple_form2 = _interopRequireDefault(_simple_form); + + var _add_on = __webpack_require__(389); + + var _add_on2 = _interopRequireDefault(_add_on); + + var _data_events = __webpack_require__(395); + + var _data_events2 = _interopRequireDefault(_data_events); + + var _callback = __webpack_require__(396); + + var _callback2 = _interopRequireDefault(_callback); + + var _tags = __webpack_require__(399); + + var _tags2 = _interopRequireDefault(_tags); + + var _turbolinks = __webpack_require__(400); + + var _turbolinks2 = _interopRequireDefault(_turbolinks); + + var _markdownable = __webpack_require__(401); + + var _markdownable2 = _interopRequireDefault(_markdownable); + + var _manage_attachment = __webpack_require__(402); + + var _manage_attachment2 = _interopRequireDefault(_manage_attachment); + + var _simple_preview = __webpack_require__(403); + + var _simple_preview2 = _interopRequireDefault(_simple_preview); + + var _markdown_preview = __webpack_require__(404); + + var _markdown_preview2 = _interopRequireDefault(_markdown_preview); + + var _flashes = __webpack_require__(405); + + var _flashes2 = _interopRequireDefault(_flashes); + + var _fullscreen = __webpack_require__(406); + + var _fullscreen2 = _interopRequireDefault(_fullscreen); + + var _importer = __webpack_require__(407); + + var _importer2 = _interopRequireDefault(_importer); + + var _cache = __webpack_require__(408); + + var _cache2 = _interopRequireDefault(_cache); + + var _lockable = __webpack_require__(409); + + var _lockable2 = _interopRequireDefault(_lockable); + + var _multiple_actions = __webpack_require__(410); + + var _multiple_actions2 = _interopRequireDefault(_multiple_actions); + + var _remote_pagination = __webpack_require__(411); + + var _remote_pagination2 = _interopRequireDefault(_remote_pagination); + + var _menu_trigger = __webpack_require__(412); + + var _menu_trigger2 = _interopRequireDefault(_menu_trigger); + + var _sort = __webpack_require__(413); + + var _sort2 = _interopRequireDefault(_sort); + + var _overlay = __webpack_require__(416); + + var _overlay2 = _interopRequireDefault(_overlay); + + var _copy = __webpack_require__(417); + + var _copy2 = _interopRequireDefault(_copy); + + var _checkall = __webpack_require__(426); + + var _checkall2 = _interopRequireDefault(_checkall); + + var _replace_with = __webpack_require__(427); + + var _replace_with2 = _interopRequireDefault(_replace_with); + + var _emojis = __webpack_require__(428); + + var _emojis2 = _interopRequireDefault(_emojis); + + var _location_graph = __webpack_require__(430); + + var _location_graph2 = _interopRequireDefault(_location_graph); + + var _logtimes_chart = __webpack_require__(431); + + var _logtimes_chart2 = _interopRequireDefault(_logtimes_chart); + + var _bootstrap_flash_helper = __webpack_require__(432); + + var _bootstrap_flash_helper2 = _interopRequireDefault(_bootstrap_flash_helper); + + var _webhook_selector = __webpack_require__(433); + + var _webhook_selector2 = _interopRequireDefault(_webhook_selector); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + // Components + // Todo => to remove , it's a test + window.Chartkick = _chartkick2.default; + + // UJS + // Load vendors + + + /** + * Common code loaded between modules + */ + function common(done) { + window.SimpleMDE = _simplemde2.default; + new _user_tooltip2.default(); + new _typeahead2.default(); + new _simple_form2.default(); + new _add_on2.default(); + new _data_events2.default(); + new _callback2.default(); + new _tags2.default(); + new _turbolinks2.default(); + new _markdownable2.default(); + new _markdown_preview2.default(); + new _simple_preview2.default(); + new _flashes2.default(); + new _manage_attachment2.default(); + new _fullscreen2.default(); + new _importer2.default(); + new _cache2.default(); + new _lockable2.default(); + new _multiple_actions2.default(); + new _remote_pagination2.default(); + new _menu_trigger2.default(); + new _sort2.default(); + new _overlay2.default(); + new _copy2.default(); + new _checkall2.default(); + new _replace_with2.default(); + new _modal2.default(); + new _emojis2.default(); + new _location_graph2.default(); + new _logtimes_chart2.default(); + new _bootstrap_flash_helper2.default(); + + (0, _webhook_selector2.default)(); + + (0, _jquery2.default)(".js-hidden").addClass("js-active").removeClass("js-hidden"); + (0, _jquery2.default)('[data-toggle="tooltip"]').tooltip(); + (0, _autosize2.default)(document.querySelectorAll('textarea[data-autosize]')); + done(); + } + + function Init() { + return new Promise(function (resolve) { + (0, _jquery2.default)(document).ready(function () { + return common(resolve); + }); + }); + }; + +/***/ }, +/* 2 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + __webpack_require__(3); + + __webpack_require__(6); + + __webpack_require__(9); + + __webpack_require__(10); + + __webpack_require__(12); + + __webpack_require__(25); + + __webpack_require__(26); + + __webpack_require__(27); + + __webpack_require__(211); + + __webpack_require__(214); + + var _exposeHighchartsHighcharts = __webpack_require__(317); + + var _exposeHighchartsHighcharts2 = _interopRequireDefault(_exposeHighchartsHighcharts); + + var _highchartsMore = __webpack_require__(319); + + var _highchartsMore2 = _interopRequireDefault(_highchartsMore); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + exports.default = function () { + (0, _highchartsMore2.default)(_exposeHighchartsHighcharts2.default); + }(); + +/***/ }, +/* 3 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(global) {module.exports = global["$"] = __webpack_require__(4); + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + +/***/ }, +/* 4 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(global) {module.exports = global["jQuery"] = __webpack_require__(5); + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + +/***/ }, +/* 5 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + * jQuery JavaScript Library v2.2.3 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-04-05T19:26Z + */ + + (function( global, factory ) { + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + + // Pass this if window is not defined yet + }(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + + // Support: Firefox 18+ + // Can't be in strict mode, several libs including ASP.NET trace + // the stack via arguments.caller.callee and Firefox dies if + // you try to trace through "use strict" call chains. (#13335) + //"use strict"; + var arr = []; + + var document = window.document; + + var slice = arr.slice; + + var concat = arr.concat; + + var push = arr.push; + + var indexOf = arr.indexOf; + + var class2type = {}; + + var toString = class2type.toString; + + var hasOwn = class2type.hasOwnProperty; + + var support = {}; + + + + var + version = "2.2.3", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + + jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice + }; + + jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; + }; + + jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + // adding 1 corrects loss of precision from parseFloat (#15100) + var realStringObj = obj && obj.toString(); + return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; + }, + + isPlainObject: function( obj ) { + var key; + + // Not plain objects: + // - Any object or value whose internal [[Class]] property is not "[object Object]" + // - DOM nodes + // - window + if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call( obj, "constructor" ) && + !hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android<4.0, iOS<6 (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + var script, + indirect = eval; + + code = jQuery.trim( code ); + + if ( code ) { + + // If the code includes a valid, prologue position + // strict mode pragma, execute code by injecting a + // script tag into the document. + if ( code.indexOf( "use strict" ) === 1 ) { + script = document.createElement( "script" ); + script.text = code; + document.head.appendChild( script ).parentNode.removeChild( script ); + } else { + + // Otherwise, avoid the DOM node creation, insertion + // and removal by using an indirect global eval + + indirect( code ); + } + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE9-11+ + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android<4.1 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support + } ); + + // JSHint would error on this code due to the Symbol not being defined in ES5. + // Defining this global in .jshintrc would create a danger of using the global + // unguarded in another place, it seems safer to just disable JSHint for these + // three lines. + /* jshint ignore: start */ + if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; + } + /* jshint ignore: end */ + + // Populate the class2type map + jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + + function isArrayLike( obj ) { + + // Support: iOS 8.2 (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; + } + var Sizzle = + /*! + * Sizzle CSS Selector Engine v2.2.1 + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-10-17 + */ + (function( window ) { + + var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }; + + // Optimize for push.apply( _, NodeList ) + try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; + } catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; + } + + function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, nidselect, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; + while ( i-- ) { + groups[i] = nidselect + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); + } + + /** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ + function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; + } + + /** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ + function markFunction( fn ) { + fn[ expando ] = true; + return fn; + } + + /** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ + function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } + } + + /** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ + function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } + } + + /** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ + function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; + } + + /** + * Returns a function to use in pseudos for input types + * @param {String} type + */ + function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; + } + + /** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ + function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; + } + + /** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ + function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); + } + + /** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ + function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; + } + + // Expose support vars for convenience + support = Sizzle.support = {}; + + /** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ + isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; + }; + + /** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ + setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( (parent = document.defaultView) && parent.top !== parent ) { + // Support: IE 11 + if ( parent.addEventListener ) { + parent.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var m = context.getElementById( id ); + return m ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + docElem.appendChild( div ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; + }; + + Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); + }; + + Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; + }; + + Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); + }; + + Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; + }; + + Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); + }; + + /** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ + Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; + }; + + /** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ + getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; + }; + + Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } + }; + + Expr.pseudos["nth"] = Expr.pseudos["eq"]; + + // Add button/input type pseudos + for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); + } + for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); + } + + // Easy API for creating new setFilters + function setFilters() {} + setFilters.prototype = Expr.filters = Expr.pseudos; + Expr.setFilters = new setFilters(); + + tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); + }; + + function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; + } + + function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( (oldCache = uniqueCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; + } + + function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; + } + + function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; + } + + function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; + } + + function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); + } + + function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); + } + + function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; + } + + compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; + }; + + /** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ + select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; + }; + + // One-time assignments + + // Sort stability + support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + + // Support: Chrome 14-35+ + // Always assume duplicates if they aren't passed to the comparison function + support.detectDuplicates = !!hasDuplicate; + + // Initialize against the default document + setDocument(); + + // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) + // Detached nodes confoundingly follow *each other* + support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; + }); + + // Support: IE<8 + // Prevent attribute/property "interpolation" + // http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx + if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; + }) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); + } + + // Support: IE<9 + // Use defaultValue in place of getAttribute("value") + if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; + }) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); + } + + // Support: IE<9 + // Use getAttributeNode to fetch booleans when getAttribute lies + if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; + }) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); + } + + return Sizzle; + + })( window ); + + + + jQuery.find = Sizzle; + jQuery.expr = Sizzle.selectors; + jQuery.expr[ ":" ] = jQuery.expr.pseudos; + jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; + jQuery.text = Sizzle.getText; + jQuery.isXMLDoc = Sizzle.isXML; + jQuery.contains = Sizzle.contains; + + + + var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; + }; + + + var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; + }; + + + var rneedsContext = jQuery.expr.match.needsContext; + + var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); + + + + var risSimple = /^.[^:#\[\.,]*$/; + + // Implement the identical functionality for filter and not + function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + } ); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); + }; + + jQuery.fn.extend( { + find: function( selector ) { + var i, + len = this.length, + ret = [], + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } + } ); + + + // Initialize a jQuery object + + + // A central reference to the root jQuery(document) + var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + // Support: Blackberry 4.6 + // gEBID returns nodes no longer in the document (#6963) + if ( elem && elem.parentNode ) { + + // Inject the element directly into the jQuery object + this.length = 1; + this[ 0 ] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + + // Give the init function the jQuery prototype for later instantiation + init.prototype = jQuery.fn; + + // Initialize central reference + rootjQuery = jQuery( document ); + + + var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + + jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( pos ? + pos.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } + } ); + + function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; + } + + jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } + }, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; + } ); + var rnotwhite = ( /\S+/g ); + + + + // Convert String-formatted options into Object-formatted ones + function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; + } + + /* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ + jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; + }; + + + jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], + [ "notify", "progress", jQuery.Callbacks( "memory" ) ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this === promise ? newDefer.promise() : this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( function() { + + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || + ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. + // If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // Add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .progress( updateFunc( i, progressContexts, progressValues ) ) + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ); + } else { + --remaining; + } + } + } + + // If we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } + } ); + + + // The deferred used on DOM ready + var readyList; + + jQuery.fn.ready = function( fn ) { + + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }; + + jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } + } ); + + /** + * The ready event handler and self cleanup method + */ + function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); + } + + jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called + // after the browser event has already occurred. + // Support: IE9-10 only + // Older IE sometimes signals "interactive" too soon + if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + + } else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); + } + } + return readyList.promise( obj ); + }; + + // Kick off the DOM ready check even if the user does not + jQuery.ready.promise(); + + + + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[ 0 ], key ) : emptyGet; + }; + var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + /* jshint -W018 */ + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); + }; + + + + + function Data() { + this.expando = jQuery.expando + Data.uid++; + } + + Data.uid = 1; + + Data.prototype = { + + register: function( owner, initial ) { + var value = initial || {}; + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable, non-writable property + // configurability must be true to allow the property to be + // deleted with the delete operator + } else { + Object.defineProperty( owner, this.expando, { + value: value, + writable: true, + configurable: true + } ); + } + return owner[ this.expando ]; + }, + cache: function( owner ) { + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( !acceptData( owner ) ) { + return {}; + } + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + if ( typeof data === "string" ) { + cache[ data ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ prop ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + owner[ this.expando ] && owner[ this.expando ][ key ]; + }, + access: function( owner, key, value ) { + var stored; + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + stored = this.get( owner, key ); + + return stored !== undefined ? + stored : this.get( owner, jQuery.camelCase( key ) ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, name, camel, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key === undefined ) { + this.register( owner ); + + } else { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = key.concat( key.map( jQuery.camelCase ) ); + } else { + camel = jQuery.camelCase( key ); + + // Try the string as a key before any manipulation + if ( key in cache ) { + name = [ key, camel ]; + } else { + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + name = camel; + name = name in cache ? + [ name ] : ( name.match( rnotwhite ) || [] ); + } + } + + i = name.length; + + while ( i-- ) { + delete cache[ name[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <= 35-45+ + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://code.google.com/p/chromium/issues/detail?id=378607 + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } + }; + var dataPriv = new Data(); + + var dataUser = new Data(); + + + + // Implementation Summary + // + // 1. Enforce API surface and semantic compatibility with 1.9.x branch + // 2. Improve the module's maintainability by reducing the storage + // paths to a single mechanism. + // 3. Use the same single mechanism to support "private" and "user" data. + // 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) + // 5. Avoid exposing implementation details on user objects (eg. expando properties) + // 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + + var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + + function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; + } + + jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } + } ); + + jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data, camelKey; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // with the key as-is + data = dataUser.get( elem, key ) || + + // Try to find dashed key if it exists (gh-2779) + // This is for 2.2.x only + dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); + + if ( data !== undefined ) { + return data; + } + + camelKey = jQuery.camelCase( key ); + + // Attempt to get data from the cache + // with the key camelized + data = dataUser.get( elem, camelKey ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, camelKey, undefined ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + camelKey = jQuery.camelCase( key ); + this.each( function() { + + // First, attempt to store a copy or reference of any + // data that might've been store with a camelCased key. + var data = dataUser.get( this, camelKey ); + + // For HTML5 data-* attribute interop, we have to + // store property names with dashes in a camelCase form. + // This might not apply to all properties...* + dataUser.set( this, camelKey, value ); + + // *... In the case of properties that might _actually_ + // have dashes, we need to also store a copy of that + // unchanged property. + if ( key.indexOf( "-" ) > -1 && data !== undefined ) { + dataUser.set( this, key, value ); + } + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } + } ); + + + jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } + } ); + + jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } + } ); + var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + + var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + + var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + + var isHidden = function( elem, el ) { + + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || + !jQuery.contains( elem.ownerDocument, elem ); + }; + + + + function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { return tween.cur(); } : + function() { return jQuery.css( elem, prop, "" ); }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; + } + var rcheckableType = ( /^(?:checkbox|radio)$/i ); + + var rtagName = ( /<([\w:-]+)/ ); + + var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + + // We have to close these tags to support XHTML (#13200) + var wrapMap = { + + // Support: IE9 + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] + }; + + // Support: IE9 + wrapMap.optgroup = wrapMap.option; + + wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; + wrapMap.th = wrapMap.td; + + + function getAll( context, tag ) { + + // Support: IE9-11+ + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; + } + + + // Mark scripts as having already been evaluated + function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } + } + + + var rhtml = /<|&#?\w+;/; + + function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; + } + + + ( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0-4.3, Safari<=5.1 + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari<=5.1, Android<4.2 + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<=11+ + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + } )(); + + + var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + + function returnTrue() { + return true; + } + + function returnFalse() { + return false; + } + + // Support: IE9 + // See #13393 for more info + function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } + } + + function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); + } + + /* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ + jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Support (at least): Chrome, IE9 + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // + // Support: Firefox<=42+ + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push( { elem: cur, handlers: matches } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + + "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split( " " ), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " + + "screenX screenY toElement" ).split( " " ), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - + ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - + ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: Cordova 2.5 (WebKit) (#13255) + // All events should have a target; Cordova deviceready doesn't + if ( !event.target ) { + event.target = document; + } + + // Support: Safari 6.0+, Chrome<28 + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } + }; + + jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } + }; + + jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android<4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; + }; + + // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding + // http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html + jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } + }; + + // Create mouseenter/leave events using mouseover/out and event-time checks + // so that event delegation works in jQuery. + // Do the same for pointerenter/pointerleave and pointerover/pointerout + // + // Support: Safari 7 only + // Safari sends mouseenter too often; see: + // https://code.google.com/p/chromium/issues/detail?id=470258 + // for the description of the bug (it existed in older Chrome versions as well). + jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; + } ); + + jQuery.fn.extend( { + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } + } ); + + + var + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, + + // Support: IE 10-11, Edge 10240+ + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + + // Manipulating tables requires a tbody + function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName( "tbody" )[ 0 ] || + elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) : + elem; + } + + // Replace/restore the type attribute of script elements for safe DOM manipulation + function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; + } + function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; + } + + function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } + } + + // Fix IE bugs, see support tests + function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } + } + + function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } + } + } + } + } + + return collection; + } + + function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; + } + + jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } + } ); + + jQuery.fn.extend( { + + // Keep domManip exposed until 3.0 (gh-2225) + domManip: domManip, + + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } + } ); + + jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: QtWebKit + // .get() because push.apply(_, arraylike) throws + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; + } ); + + + var iframe, + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; + + /** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ + + // Called only from within defaultDisplay + function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + display = jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; + } + + /** + * Try to determine the default display value of an element + * @param {String} nodeName + */ + function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = ( iframe || jQuery( "