diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..98478da --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +themes/ diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..e6e22c3 --- /dev/null +++ b/config.toml @@ -0,0 +1,183 @@ +baseurl = "https://example.org" +title = "Linux内核之旅" +theme = "hugo-universal-theme" +# themesDir = "../.." +languageCode = "en-us" +# Site language. Available translations in the theme's `/i18n` directory. +defaultContentLanguage = "zh" +# Enable comments by entering your Disqus shortname +#disqusShortname = "devcows" +# Enable Google Analytics by entering your tracking code +googleAnalytics = "" + +# Define the number of posts per page +paginate = 10 + +[menu] + +# Main menu + +[[menu.main]] + identifier="home" + name = "主页" + url = "/" + weight = 1 + +[[menu.main]] + identifier="blog" + name = "博客" + url = "/blog/" + weight = 2 + +[[menu.main]] + identifier = "github" + name = "github" + url = "https://github.com/linuxkerneltravel/LearningLinux" + weight = 3 + +[[menu.main]] + identifier = "mooc" + name = "mooc" + url = "https://next.xuetangx.com/course/XIYOU08091001441/1516763" + weight = 4 + +[[menu.main]] + identifier = "contact" + name = "关于" + url = "/contact/" + weight = 6 + + +# Top bar social links menu + +[[menu.topbar]] + weight = 1 + name = "GitHub" + url = "https://github.com/devcows/hugo-universal-theme" + pre = "" + +[[menu.topbar]] + weight = 2 + name = "Facebook" + url = "http://facebook.com" + pre = "" + +[[menu.topbar]] + weight = 3 + name = "Twitter" + url = "http://twitter.com" + pre = "" + +[[menu.topbar]] + weight = 4 + name = "Email" + url = "mailto:your@email.com" + pre = "" + + +[params] + + + viewMorePostLink = "/blog/" + author = "DevCows" + defaultKeywords = ["devows", "hugo", "go"] + mainSections = ["blog"] + defaultDescription = "Site template made by devcows using hugo" + + # Social media + facebook_site = "" # the Facebook handle of your site ('https://www.facebook.com/HANDLE') + twitter_site = "GoHugoIO" # the Twitter handle of your site (without the '@') + default_sharing_image = "img/sharing-default.png" + + # Google Maps API key (if not set will default to not passing a key.) + googleMapsApiKey = "AIzaSyCFhtWLJcE30xOAjcbSFi-0fnoVmQZPb1Y" + + # Style options: default (light-blue), blue, green, marsala, pink, red, turquoise, violet + style = "default" + + # Since this template is static, the contact form uses www.formspree.io as a + # proxy. The form makes a POST request to their servers to send the actual + # email. Visitors can send up to a 1000 emails each month for free. + # + # What you need to do for the setup? + # + # - set your email address under 'email' below + # - upload the generated site to your server + # - send a dummy email yourself to confirm your account + # - click the confirm link in the email from www.formspree.io + # - you're done. Happy mailing! + # + # Enable the contact form by entering your Formspree.io email + #email = "your@email.com" + #contact_form_ajax = false + + about_us = "

请关注我们的微信公众号:Linux内核之旅


Linux内核之旅微信公众号

" + copyright = "Copyright (c), linuxkerneltravel, all rights reserved." + + # Format dates with Go's time formatting + date_format = "2020-04-07" + + logo = "img/logo.png" + logo_small = "img/logo-small.png" + + + + +[Permalinks] + blog = "/blog/:year/:month/:day/:filename/" + +# Enable or disable top bar with social icons +[params.topbar] + enable = false + text = """ + + """ + +# Enable and disable widgets for the right sidebar +[params.widgets] + categories = true + tags = false + search = false + +[params.carousel] + enable = true + # All carousel items are defined in their own files. You can find example items + # at 'exampleSite/data/carousel'. + # For more informtion take a look at the README. + +[params.features] + enable = false + # All features are defined in their own files. You can find example items + # at 'exampleSite/data/features'. + # For more informtion take a look at the README. + +[params.testimonials] + enable = true + # All testimonials are defined in their own files. You can find example items + # at 'exampleSite/data/testimonials'. + # For more informtion take a look at the README. + title = "Linux内核之旅社区委员会" + subtitle = "Linux内核之旅致力于传播开源文化,教授Linux内核知识。目前我们有五大平台,包括Linux内核之旅网站、GitHub、微信公众号“Linux内核之旅”、学堂在线mooc和bilibili内核视频站。以下为部分社区成员:" + +[params.see_more] + enable = true + icon = "far fa-file-alt" + title = "和我一起学习Linux内核吧!" + subtitle = "你可以在我们的GitHub上提交你的代码,也可以给我们的代码打补丁,在学堂在线mooc平台《Linux内核分析与应用》课程中抛出你的问题,就有机会获得陈莉君教授的答疑。 " + link_url = "https://next.xuetangx.com/course/XIYOU08091001441/1516763" + link_text = "点击免费报名《Linux内核分析与应用》课程" + +[params.clients] + enable = false + # All clients are defined in their own files. You can find example items + # at 'exampleSite/data/clients'. + # For more informtion take a look at the README. + title = "其他平台" + subtitle = "" + +[params.recent_posts] + enable = true + title = "最新内核博客" + subtitle = "" diff --git "a/content/blog/2020/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200)--proc\346\226\207\344\273\266\347\263\273\347\273\237.md" "b/content/blog/2020/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200)--proc\346\226\207\344\273\266\347\263\273\347\273\237.md" new file mode 100644 index 0000000..6ad2313 --- /dev/null +++ "b/content/blog/2020/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200)--proc\346\226\207\344\273\266\347\263\273\347\273\237.md" @@ -0,0 +1,305 @@ ++++ +title = "“tcp丢包分析”实验解析(一)--proc文件系统" +date = "2020-04-10" +categories = ["Linux内核试验"] +subtitle = "tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析" +description = "tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。" +banner = "img/banners/“tcp丢包分析”实验解析(一).png" + ++++ + +>tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + +最初开发` /proc` 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用,` /proc` 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。 + +`/proc`文件系统可以为提供很多信息, 在左边是一系列数字编号,每个实际上都是一个目录,表示系统中的一个进程。由于在Linux中创建的第一个进程是 `init` 进程,因此它的 `process-id` 为 1。 + +![1.png](http://ww1.sinaimg.cn/large/005NFTS2ly1gdftaoiatsj30fe05itaf.jpg) + +右边的目录包含特定信息,比如`cpuinfo`包含了CPU的信息,`modules`包含了内核模块的信息。 + +![2.png](http://ww1.sinaimg.cn/large/005NFTS2ly1gdftb9j3b9j30aj06u0t6.jpg) + +为了解决一些实际问题,我们需要在`/proc`下创建条目捕获信息,使用文件系统通用方法肯定是不行的,需要使用相关API编写内核模块来实现。 + +在做谢宝友老师写的“TCP丢包分析”实验里,首先就会在`/proc`下创建条目,较为简单,先来看`init`和`exit`: + +```c +static int drop_packet_init(void) +{ + int ret; + struct proc_dir_entry *pe; + + proc_mkdir("mooc", NULL); + proc_mkdir("mooc/net", NULL); + + ret = -ENOMEM; + pe = proc_create("mooc/net/drop-packet", + S_IFREG | 0644, + NULL, + &drop_packet_fops); + if (!pe) + goto err_proc; + + printk("drop-packet loaded.\n"); + + return 0; + +err_proc: + return ret; +} + +static void drop_packet_exit(void) +{ + remove_proc_entry("mooc/net/drop-packet", NULL); + remove_proc_entry("mooc/net", NULL); + remove_proc_entry("mooc", NULL); + + printk("drop-packet unloaded.\n"); +} +``` + +框架还是比较清晰的,需要深入源码来感受一下,第一部分代码: + +**struct proc_dir_entry *pe;** + + +```c +struct proc_dir_entry { + /* + * number of callers into module in progress; + * negative -> it's going away RSN + */ + atomic_t in_use; + refcount_t refcnt; + struct list_head pde_openers; /* who did ->open, but not ->release */ + /* protects ->pde_openers and all struct pde_opener instances */ + spinlock_t pde_unload_lock; + struct completion *pde_unload_completion; + const struct inode_operations *proc_iops; + const struct file_operations *proc_fops; + const struct dentry_operations *proc_dops; + union { + const struct seq_operations *seq_ops; + int (*single_show)(struct seq_file *, void *); + }; + proc_write_t write; + void *data; + unsigned int state_size; + unsigned int low_ino; + nlink_t nlink; + kuid_t uid; + kgid_t gid; + loff_t size; + struct proc_dir_entry *parent; + struct rb_root subdir; + struct rb_node subdir_node; + char *name; + umode_t mode; + u8 namelen; + char inline_name[]; +} __randomize_layout; +``` + +结构`proc_dir_entry`定义在``下,可以称为一个`pde`,在创建一个文件或目录时就会创建一个`pde`来管理它们。而在打开它们的时候,则会创建一个`proc_inode`结构: + +```c +struct proc_inode { + struct pid *pid; + unsigned int fd; + union proc_op op; + struct proc_dir_entry *pde; + struct ctl_table_header *sysctl; + struct ctl_table *sysctl_entry; + struct hlist_node sysctl_inodes; + const struct proc_ns_operations *ns_ops; + struct inode vfs_inode; +} __randomize_layout; +``` + +可以使用`PROC_I`宏,也就是我们熟悉的`container_of`,从虚拟文件系统的`inode`得到`proc_inode`,进而得到`pde`。 + +```c +static inline struct proc_inode *PROC_I(const struct inode *inode) +{ + return container_of(inode, struct proc_inode, vfs_inode); +} + +static inline struct proc_dir_entry *PDE(const struct inode *inode) +{ + return PROC_I(inode)->pde; +} +``` + +回到`proc_dir_entry`结构,很多信息从字段名字就可以看出,`pde`需要指向创建自己的父`pde`结构,`subdir`的组织方式是红黑树,还需要我们实现操作集以及一些引用计数和命名规则等等。 + +有意思的是,除了操作集之外还有一个`proc_write_t`,对于一些功能比较简单的`proc`文件,我们只要实现这个函数即可,而不用设置`inode_operations`结构,在注册`proc`文件的时候,会自动为`proc_fops`设置一个缺省的 `file_operations`结构。 + +此时,我们可以想象以下模型: + +![3.png](http://ww1.sinaimg.cn/large/005NFTS2ly1gdgcfui6cvj30d106yt8u.jpg) + +*第二部分代码是:* + +**proc_mkdir("mooc", NULL);** + +**proc_mkdir("mooc/net", NULL);** + +**remove_proc_entry("mooc/net", NULL);** + +**remove_proc_entry("mooc", NULL);** + +易知其功能是在`/proc`下创建和删除条目`mooc/net`,以创建操作为例,看下内核代码如何实现的: + +```c +struct proc_dir_entry *proc_mkdir(const char *name, + struct proc_dir_entry *parent) +{ + return proc_mkdir_data(name, 0, parent, NULL); +} +EXPORT_SYMBOL(proc_mkdir); +``` + +```c +struct proc_dir_entry *proc_mkdir_data(const char *name, umode_t mode, + struct proc_dir_entry *parent, void *data) +{ + struct proc_dir_entry *ent; + + if (mode == 0) + mode = S_IRUGO | S_IXUGO; + + ent = __proc_create(&parent, name, S_IFDIR | mode, 2); + if (ent) { + ent->data = data; + ent->proc_fops = &proc_dir_operations; + ent->proc_iops = &proc_dir_inode_operations; + parent->nlink++; + ent = proc_register(parent, ent); + if (!ent) + parent->nlink--; + } + return ent; +} +EXPORT_SYMBOL_GPL(proc_mkdir_data); +``` + +这里逻辑很简单,`proc_mkdir`实际上是`proc_mkdir_data`默认了权限为` S_IRUGO | S_IXUGO`,再调用 `__proc_create`初始化一个局部`pde`,如果成功则初始化操作集,并调用`proc_register`注册这个`pde`到父`pde`下并返回。 + +`__proc_create`调用`kmem_cache_zalloc`从`cache`中获取空间给`pde`,并且对条目名称进行检查。如果成功,则对名称、模式等属性赋值,设置引用计数并初始化锁。 + +`__proc_register`接收两个参数,一个父亲`pde`,一个当前`pde`,目的是把当前`pde`挂到父亲名下,前面提到`subdir`的组织形式是红黑树,那么肯定涉及相关代码,来看: + +```c +struct proc_dir_entry *proc_create_reg(const char *name, umode_t mode, + struct proc_dir_entry **parent, void *data) +{ + struct proc_dir_entry *p; + + if ((mode & S_IFMT) == 0) + mode |= S_IFREG; + if ((mode & S_IALLUGO) == 0) + mode |= S_IRUGO; + if (WARN_ON_ONCE(!S_ISREG(mode))) + return NULL; + + p = __proc_create(parent, name, mode, 1); + if (p) { + p->proc_iops = &proc_file_inode_operations; + p->data = data; + } + return p; +} +``` + +首先判断当前`pde`的`id`是否越界,如果没有打开子目录锁,把当前`pde`的`parent`字段指向父亲`pde`,并尝试在红黑树中插入子目录,成功后重新上锁并返回当前`pde`。 + +```c +static bool pde_subdir_insert(struct proc_dir_entry *dir, + struct proc_dir_entry *de) +{ + struct rb_root *root = &dir->subdir; + struct rb_node **new = &root->rb_node, *parent = NULL; + + /* Figure out where to put new node */ + while (*new) { + struct proc_dir_entry *this = rb_entry(*new, + struct proc_dir_entry, + subdir_node); + int result = proc_match(de->name, this, de->namelen); + + parent = *new; + if (result < 0) + new = &(*new)->rb_left; + else if (result > 0) + new = &(*new)->rb_right; + else + return false; + } + + /* Add new node and rebalance tree. */ + rb_link_node(&de->subdir_node, parent, new); + rb_insert_color(&de->subdir_node, root); + return true; +} +``` + +红黑树的插入操作篇幅所限不再叙述。 + +下面看第三部分代码: + +```c + pe = proc_create("mooc/net/drop-packet", + S_IFREG | 0644, + NULL, + &drop_packet_fops); +``` + +```c +struct proc_dir_entry *proc_create(const char *name, umode_t mode, + struct proc_dir_entry *parent, + const struct file_operations *proc_fops) +{ + return proc_create_data(name, mode, parent, proc_fops, NULL); +} +EXPORT_SYMBOL(proc_create); +``` + +`proc_create`内部也是调用`proc_create_data`,但还需自行指定权限以及操作集回调,用于创建一个`proc`文件,在3.10内核中取代`create_proc_entry`这个旧的接口。 + +回到实验代码,我们为加入的条目编写操作集接口。 + +```c +const struct file_operations drop_packet_fops = { + .open = drop_packet_open, + .read = seq_read, + .llseek = seq_lseek, + .write = drop_packet_write, + .release = single_release, +}; +``` + +一般地,内核通过在`procfs`文件系统下建立文件来向用户空间提供输出信息,用户空间可以通过任何文本阅读应用查看该文件信息,但是`procfs`有一个缺陷,如果输出内容大于1个内存页,需要多次读,因此处理起来很难,另外,如果输出太大,速度比较慢,有时会出现一些意想不到的情况,`Alexander Viro`实现了一套新的功能,使得内核输出大文件信息更容易,它们叫做`seq_file`,所以在使用它们的操作集时需要包含`seq_file.h`头文件。 + +`Drop_packet_open`实际上是调用了`single_open`: + +```c +static int drop_packet_open(struct inode *inode, struct file *filp) +{ + return single_open(filp, drop_packet_show, NULL); +} +``` + +为什么这么做?内核文档给出了相关描述: + +![4.png](http://ww1.sinaimg.cn/large/005NFTS2ly1gdgdnk08oxj30ef07zq56.jpg) + +https://www.kernel.org/doc/Documentation/filesystems/seq_file.txt + +你可能发现,内核文档里显示的是`seq_open`,而实验里是`single_open`,它们有什么区别呢?实际上内核文档的最后给出了答案: + +![5.png](http://ww1.sinaimg.cn/large/005NFTS2ly1gdgdrm8cifj30sg0ggabr.jpg) + +谢宝友老师的实验中运用`seq_file`的极简版本(extra-simple version),只需定义一个`show()`函数。完整的情况我们还需要实现`start()`,`next()`等迭代器来对`seq_file`进行操作。极简版本中,`open`方法需要调用`single_open`,对应的,`release`方法调用`single_release`。 + +推荐阅读https://www.ibm.com/developerworks/cn/linux/l-proc.html \ No newline at end of file diff --git "a/content/blog/2020/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214)--kprobe\345\222\214tracepoint.md" "b/content/blog/2020/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214)--kprobe\345\222\214tracepoint.md" new file mode 100644 index 0000000..6ff1032 --- /dev/null +++ "b/content/blog/2020/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214)--kprobe\345\222\214tracepoint.md" @@ -0,0 +1,260 @@ ++++ +title = "“tcp丢包分析”实验解析(二)--kprobe和tracepoint" +date = "2020-04-10" +categories = ["Linux内核试验"] +description = "tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。" +banner = "img/banners/“tcp丢包分析”实验解析(二).png" + ++++ + +> tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + +继续顺下实验代码,前面说过,我们需要为我们(在proc文件系统中)加入的条目编写操作集接口: + +```c +const struct file_operations drop_packet_fops = { + .open = drop_packet_open, + .read = seq_read, + .llseek = seq_lseek, + .write = drop_packet_write, + .release = single_release, +}; +``` + +实验的运行逻辑重点落在了write操作的实现中: + +```c +static ssize_t drop_packet_write(struct file *file, + const char __user *buf, size_t count, loff_t *offs) +{ + int ret; + char cmd[255]; + char chr[255]; + + if (count < 1 || *offs) + return -EINVAL; + + if (copy_from_user(chr, buf, 255)) + return -EFAULT; + + ret = sscanf(chr, "%255s", cmd); + if (ret <= 0) + return -EINVAL; + + if (strcmp(cmd, "activate") == 0) { + if (!drop_packet_activated) + drop_packet_activated = activate_drop_packet(); + } else if (strcmp(cmd, "deactivate") == 0) { + if (drop_packet_activated) + deactivate_drop_packet(); + drop_packet_activated = 0; + } + + return count; +} +``` + +它的逻辑很简单,我们把用户写入的字符串通过`copy_from_user`传入到内核`buf`中,然后调用`sscanf`格式化`buf`为`cmd`,然后跟“activate”和“deactiavate”比较,换句话说,如果用户输入“activate”,那么就可以开启丢包检测了。在加载模块后,用如下命令可以查看proc内容,由`drop_packet_show`实现: + +```c +static int drop_packet_show(struct seq_file *m, void *v) +{ + seq_printf(m, "settings:\n"); + seq_printf(m, " activated: %s\n", drop_packet_activated ? "y" : "N"); + + return 0; +} +``` + +**cat /proc/mooc/net/drop-packet** + +结果如下:(省略了settings:) + +`activated: N` + +执行如下命令,可以激活丢包检测功能: + +**echo activate > /proc/mooc/net/drop-packet** + +再次查看proc文件内容,结果如下: + +`activated: y` + +那么接下来自然要看下`activate_drop_packet`干了些什么事: + +```c +static int activate_drop_packet(void) +{ + hook_tracepoint("net_dev_xmit", trace_net_dev_xmit_hit, NULL); + hook_kprobe(&kprobe_dev_queue_xmit, "dev_queue_xmit", + kprobe_dev_queue_xmit_pre, NULL); + hook_kprobe(&kprobe_eth_type_trans, "eth_type_trans", + kprobe_eth_type_trans_pre, NULL); + hook_kprobe(&kprobe_napi_gro_receive, "napi_gro_receive", + kprobe_napi_gro_receive_pre, NULL); + hook_kprobe(&kprobe___netif_receive_skb_core, "__netif_receive_skb_core", + kprobe___netif_receive_skb_core_pre, NULL); + hook_kprobe(&kprobe_tcp_v4_rcv, "tcp_v4_rcv", + kprobe_tcp_v4_rcv_pre, NULL); + + return 1; +} +``` + +可以看到,这段代码在`net_dev_xmit`中挂接一个`tracepoint`钩子,在`dev_queue_xmit`/`eth_type_trans`/`napi_gro_receive`/`__netif_receive_skb_core`/`tcp_v4_rcv`等函数的入口处挂接一个kprobe钩子。 + +那么到底什么是tracepoint?kprobe又是什么?说它们之前不得不说一下ftrace。ftrace(function trace)是利用gcc 编译器在编译时在每个函数的入口地址放置一个 probe 点,这个 probe 点会调用一个 probe 函数,这样这个probe 函数会对每个执行的内核函数进行跟踪并打印日志到`ring buffer`中,而用户可以通过 debugfs 来访问`ring buffer`中的内容。 + +![1.png](http://ww1.sinaimg.cn/large/005NFTS2ly1gdiy3ytzn8j309z041gln.jpg) + +kprobe 是很早前就存在于内核中的一种动态 trace 工具。kprobe 本身利用了 int 3(在 x86 中)实现了 probe 点(对应图中的A)。使用 kprobe 需要用户自己实现 kernel module 来注册 probe 函数。kprobe 并没有统一的B、C 和 D。使用起来用户需要自己实现很多东西,不是很灵活。而在 `function trace` 出现后,kprobe 借用了它的一部分设计模式,实现了统一的 probe 函数(对应于图中的 B),并利用了 `function trace` 的环形缓存和用户接口部分,也就是 C 和 D 部分功能。 + +而tracepoint是静态的trace,说白了它就是内核开发人员提前设置好的跟踪点,也提供了管理桩函数的接口,它们已经编译进了内核,这样做既有优点也有缺点。优点是使用tracepoint的开销较小,并且它的API相对稳定;缺点也很明显,第一,默认的点明显不够多,可能覆盖不到你的需求;第二,你加一个点就需要重新编译内核,而kprobe不需要;第三,由于是静态的,不使用它也会造成开销(从内核文档可以看出这个问题已经被优化,现在基本忽略)。 + +实验代码中,挂接kprobe和tracepoint钩子的方法分别为`hook_kprobe`和`hook_tracepoint`,`hook_kprobe`代码如下: + +```c +int hook_kprobe(struct kprobe *kp, const char *name, + kprobe_pre_handler_t pre, kprobe_post_handler_t post) +{ + kprobe_opcode_t *addr; + + if (!name || strlen(name) >= 255) + return -EINVAL; + addr = (kprobe_opcode_t *)kallsyms_lookup_name(name); + if (!addr) + return -EINVAL; + + memset(kp, 0, sizeof(struct kprobe)); + kp->symbol_name = name; + kp->pre_handler = pre; + kp->post_handler = post; + + register_kprobe(kp); + + return 0; +} +``` + +由于是动态追踪,需要先调用`kallsyms_lookup_name`检查是否有这个函数。如果有这个函数,那么就把kprobe的`pre_handler`和`post_handler`赋值给他,这两个都是钩子,会在其他地方定义好,它才是真正要干的事情,这是kprobe机制规定的,不用觉得奇怪。最后调用`register_kprobe`注册这个kprobe。 + +`register_kprobe`函数非常复杂,我这里截取最为核心的部分: + +```c +cpus_read_lock(); + /* Prevent text modification */ + mutex_lock(&text_mutex); + ret = prepare_kprobe(p); + mutex_unlock(&text_mutex); + cpus_read_unlock(); + if (ret) + goto out; + + INIT_HLIST_NODE(&p->hlist); + hlist_add_head_rcu(&p->hlist, + &kprobe_table[hash_ptr(p->addr, KPROBE_HASH_BITS)]); + + if (!kprobes_all_disarmed && !kprobe_disabled(p)) { + ret = arm_kprobe(p); + if (ret) { + hlist_del_rcu(&p->hlist); + synchronize_rcu(); + goto out; + } + } +``` + +`prepare_kprobe`保存当前的指令,`arm_kprobe`将当前指令替换为int3。然后就会执行`kprobe_int3_handler`,此时如果你的handler实现了并且注册了,那么就会执行你的handler了,这里应该就是“插桩”的本质了。 + +```c +int kprobe_int3_handler(struct pt_regs *regs) +{ + kprobe_opcode_t *addr; + struct kprobe *p; + struct kprobe_ctlblk *kcb; + + if (user_mode(regs)) + return 0; + + addr = (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t)); + /* + * We don't want to be preempted for the entire duration of kprobe + * processing. Since int3 and debug trap disables irqs and we clear + * IF while singlestepping, it must be no preemptible. + */ + + kcb = get_kprobe_ctlblk(); + p = get_kprobe(addr); + + if (p) { + if (kprobe_running()) { + if (reenter_kprobe(p, regs, kcb)) + return 1; + } else { + set_current_kprobe(p, regs, kcb); + kcb->kprobe_status = KPROBE_HIT_ACTIVE; + + /* + * If we have no pre-handler or it returned 0, we + * continue with normal processing. If we have a + * pre-handler and it returned non-zero, that means + * user handler setup registers to exit to another + * instruction, we must skip the single stepping. + */ + if (!p->pre_handler || !p->pre_handler(p, regs)) + setup_singlestep(p, regs, kcb, 0); + else + reset_current_kprobe(); + return 1; + } + } else if (*addr != BREAKPOINT_INSTRUCTION) {... +``` + +在设置单步调试`setup_singlestep`时,还会把`post_handler`的地址设置为下一个执行指令,以便`pre_handler`返回时可以“reenter”到kprobe异常,顺利执行`post_handler`,最后才执行原本执行的代码,它存放在kprobe结构体中。虽然这个实验并没有实现`post_handler`,但机制就是这样的。 + +```c +static void setup_singlestep(struct kprobe *p, struct pt_regs *regs, + struct kprobe_ctlblk *kcb, int reenter) +{ + if (setup_detour_execution(p, regs, reenter)) + return; + +#if !defined(CONFIG_PREEMPT) + if (p->ainsn.boostable && !p->post_handler) { + /* Boost up -- we can execute copied instructions directly */ + if (!reenter) + reset_current_kprobe(); + /* + * Reentering boosted probe doesn't reset current_kprobe, + * nor set current_kprobe, because it doesn't use single + * stepping. + */ + regs->ip = (unsigned long)p->ainsn.insn; + return; + } +#endif + if (reenter) { + save_previous_kprobe(kcb); + set_current_kprobe(p, regs, kcb); + kcb->kprobe_status = KPROBE_REENTER; + } else + kcb->kprobe_status = KPROBE_HIT_SS; + /* Prepare real single stepping */ + clear_btf(); + regs->flags |= X86_EFLAGS_TF; + regs->flags &= ~X86_EFLAGS_IF; + /* single step inline if the instruction is an int3 */ + if (p->opcode == BREAKPOINT_INSTRUCTION) + regs->ip = (unsigned long)p->addr; + else + regs->ip = (unsigned long)p->ainsn.insn; +} +NOKPROBE_SYMBOL(setup_singlestep); +``` + +Tracepoint相对简单一点,实验里直接调用了`tracepoint_probe_register`,就不展开说了,通常情况都是用`DECLARE_TRACE` 、` DEFINE_TRACE`这两个宏。可以阅读内核文档查阅一些高级的用法。 + +值得一提的是,实验代码为tracepoint设置了条件宏以便适应不同的内核版本,比较有意思,这里给出结构大家感受一下: + +![2.png](http://ww1.sinaimg.cn/large/005NFTS2ly1gdj02e2t18j307f06dq48.jpg) + diff --git a/content/ceshi/index.html b/content/ceshi/index.html new file mode 100644 index 0000000..c534f13 --- /dev/null +++ b/content/ceshi/index.html @@ -0,0 +1,12 @@ + + + + +内核mooc + + + +测试 + + + \ No newline at end of file diff --git a/content/community/index.html b/content/community/index.html new file mode 100644 index 0000000..7e726ea --- /dev/null +++ b/content/community/index.html @@ -0,0 +1,13 @@ + + + + +社区 + + +社区版块内容,自己开发,可找模板 + + + + + diff --git a/content/contact.md b/content/contact.md new file mode 100644 index 0000000..a8a6ba5 --- /dev/null +++ b/content/contact.md @@ -0,0 +1,42 @@ ++++ +title = "关于" +id = "contact" ++++ + +## 关于Linux内核之旅社区 +Linux内核之旅社区是由西邮陈莉君教授创建,我们致力于传播开源文化,教授Linux内核知识。目前我们有五大平台,包括Linux内核之旅网站、GitHub、微信公众号“Linux内核之旅”、学堂在线mooc和bilibili内核视频站。 + +也许在我们的课程里,就有下一站的方向。 愿你活出自己想要的模样,永远保持骄傲。 --陈莉君教授 + +## 我们的目标 +1. 开源文化传播 +2. 内核知识教学 +3. Linux知识传播 + +## 我们的平台 +1. linuxkerneltravel公众号平台:传播媒介 +- 定期推送linux内核相关的文章 +- 大家的成果展示平台 +2. linuxkerneltravel网站:文章内容输出平台 +- 社区内容承输出点 +- 学习周报 +- 文章翻译 +3. linuxkerneltravel的github社区:协作平台 +- 社区&网站代码协作平台 +- 文章&代码&项目开发协作平台 +4. 学堂在线mooc:内核课程输出平台 +- 内核知识教学 +- 讨论区答疑 +5. bilibili视频网站:管理内核学习视频 +- 分享内核知识 +- 管理大家平时录制的内核学习视频 + +## 社区委员会 + +![社区成员.png](http://ww1.sinaimg.cn/large/005NFTS2ly1gdommlut7kj30xw0h0myu.jpg) + +## 联系方式 +邮箱:liangjinrong111@163.com + + +微信公众号:Linux内核之旅 diff --git a/content/faq.md b/content/faq.md new file mode 100644 index 0000000..38c62e1 --- /dev/null +++ b/content/faq.md @@ -0,0 +1,43 @@ ++++ +title = "GitHub" +description = "代码仓库" +keywords = ["FAQ","How do I","questions","what if"] ++++ + +Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. + +## 1. WHAT TO DO IF I HAVE STILL NOT RECEIVED THE ORDER? + +Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. + +* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. +* Aliquam tincidunt mauris eu risus. +* Vestibulum auctor dapibus neque. + +## 2. WHAT ARE THE POSTAL RATES? + +Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. + +## 3. DO YOU SEND OVERSEAS? + +Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. + +## 4. WHY ARE YOU MORE EXPENSIVE THAN OTHERS? + +Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. + +* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. +* Aliquam tincidunt mauris eu risus. +* Vestibulum auctor dapibus neque. + +## 5. ANOTHER IMPORTANT QUESTION + +Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. + +* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. +* Aliquam tincidunt mauris eu risus. +* Vestibulum auctor dapibus neque. + +--- + +> In case you haven't found the answer for your question please feel free to contact us, our customer support will be happy to help you. diff --git a/content/github/index.html b/content/github/index.html new file mode 100644 index 0000000..2f089bc --- /dev/null +++ b/content/github/index.html @@ -0,0 +1,13 @@ + + + + +Github + + +github内容网页,自己开发,可找模板 + + + + + \ No newline at end of file diff --git a/content/mooc/index.html b/content/mooc/index.html new file mode 100644 index 0000000..e690e50 --- /dev/null +++ b/content/mooc/index.html @@ -0,0 +1,13 @@ + + + + +内核mooc + + +内核mooc内容网页,自己开发,可找模板 + + + + + \ No newline at end of file diff --git a/data/carousel/design.yaml b/data/carousel/design.yaml new file mode 100644 index 0000000..9963334 --- /dev/null +++ b/data/carousel/design.yaml @@ -0,0 +1,9 @@ +weight: 3 +title: "西邮软件自由日" +description: > + +image: "img/carousel/软件自由日.png" diff --git a/data/carousel/features.yaml b/data/carousel/features.yaml new file mode 100644 index 0000000..3b6bda2 --- /dev/null +++ b/data/carousel/features.yaml @@ -0,0 +1,8 @@ +weight: 2 +title: "内核之旅社区成员" +description: > + +image: "img/carousel/研究生团队.png" diff --git a/data/carousel/multipurpose.yaml b/data/carousel/multipurpose.yaml new file mode 100644 index 0000000..292ec52 --- /dev/null +++ b/data/carousel/multipurpose.yaml @@ -0,0 +1,12 @@ +weight: 1 +title: "《Linux内核分析与应用》开课啦!" +description: > + + +image: "img/carousel/学堂在线.png" diff --git a/data/clients/1.yaml b/data/clients/1.yaml new file mode 100644 index 0000000..994302f --- /dev/null +++ b/data/clients/1.yaml @@ -0,0 +1,3 @@ +name: "customer-1" +image: "img/clients/customer-1.png" +url: "http://www.customer1.com" diff --git a/data/clients/2.yaml b/data/clients/2.yaml new file mode 100644 index 0000000..1ca1886 --- /dev/null +++ b/data/clients/2.yaml @@ -0,0 +1,3 @@ +name: "customer-2" +image: "img/clients/customer-2.png" +url: "http://www.customer2.com" diff --git a/data/clients/3.yaml b/data/clients/3.yaml new file mode 100644 index 0000000..b514f5a --- /dev/null +++ b/data/clients/3.yaml @@ -0,0 +1,3 @@ +name: "customer-3" +image: "img/clients/customer-3.png" +url: "http://www.customer3.com" diff --git a/data/clients/4.yaml b/data/clients/4.yaml new file mode 100644 index 0000000..f2ac93a --- /dev/null +++ b/data/clients/4.yaml @@ -0,0 +1,3 @@ +name: "customer-4" +image: "img/clients/customer-4.png" +url: "http://www.customer4.com" diff --git a/data/clients/5.yaml b/data/clients/5.yaml new file mode 100644 index 0000000..3017d86 --- /dev/null +++ b/data/clients/5.yaml @@ -0,0 +1,3 @@ +name: "customer-5" +image: "img/clients/customer-5.png" +url: "http://www.customer5.com" diff --git a/data/clients/6.yaml b/data/clients/6.yaml new file mode 100644 index 0000000..45f5aa3 --- /dev/null +++ b/data/clients/6.yaml @@ -0,0 +1,3 @@ +name: "customer-6" +image: "img/clients/customer-6.png" +url: "http://www.customer6.com" diff --git a/data/features/consulting.yaml b/data/features/consulting.yaml new file mode 100644 index 0000000..4284222 --- /dev/null +++ b/data/features/consulting.yaml @@ -0,0 +1,5 @@ +weight: 4 +name: "Consulting" +icon: "fas fa-lightbulb" +url: "" +description: "Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring." diff --git a/data/features/email.yaml b/data/features/email.yaml new file mode 100644 index 0000000..42c6499 --- /dev/null +++ b/data/features/email.yaml @@ -0,0 +1,5 @@ +weight: 5 +name: "Email Marketing" +icon: "far fa-envelope" +url: "" +description: "Advantage old had otherwise sincerity dependent additions. It in adapted natural hastily is justice. Six draw you him full not mean evil." diff --git a/data/features/print.yaml b/data/features/print.yaml new file mode 100644 index 0000000..6362fa3 --- /dev/null +++ b/data/features/print.yaml @@ -0,0 +1,5 @@ +weight: 2 +name: "Print" +icon: "fas fa-print" +url: "" +description: "Advantage old had otherwise sincerity dependent additions. It in adapted natural hastily is justice. Six draw you him full not mean evil." diff --git a/data/features/seo.yaml b/data/features/seo.yaml new file mode 100644 index 0000000..29af3d3 --- /dev/null +++ b/data/features/seo.yaml @@ -0,0 +1,5 @@ +weight: 3 +name: "SEO and SEM" +icon: "fas fa-globe" +url: "" +description: "Am terminated it excellence invitation projection as. She graceful shy believed distance use nay. Lively is people so basket ladies window expect." diff --git a/data/features/uiux.yaml b/data/features/uiux.yaml new file mode 100644 index 0000000..0533859 --- /dev/null +++ b/data/features/uiux.yaml @@ -0,0 +1,5 @@ +weight: 6 +name: "UI/UX" +icon: "fas fa-user" +url: "" +description: "Am terminated it excellence invitation projection as. She graceful shy believed distance use nay. Lively is people so basket ladies window expect." diff --git a/data/features/webdesign.yaml b/data/features/webdesign.yaml new file mode 100644 index 0000000..5f05ba6 --- /dev/null +++ b/data/features/webdesign.yaml @@ -0,0 +1,5 @@ +weight: 1 +name: "github" +icon: "fas fa-desktop" +url: "" +description: "Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring." diff --git a/data/testimonials/1.yaml b/data/testimonials/1.yaml new file mode 100644 index 0000000..cb6b81a --- /dev/null +++ b/data/testimonials/1.yaml @@ -0,0 +1,4 @@ +text: "Linux内核之旅创始人,西安邮电大学教授,硕士生导师,教育部高等学校计算机类专业教学指导委员会委员,陕西省教学名师,中国开源联盟专家组成员。20多年来致力于推动开源的操作系统Linux在中国的发展,深入研究Linux内核相关理论以及技术,跟踪Linux内核发展动向,针对Linux内核版本的不断演化,连续编写和翻译了十多部相关专著、译著及教材,获得中国开源联盟授予的“开源杰出贡献奖”。" +name: "陈莉君" +position: "Linux内核之旅创始人 西邮计算机学院教授" +avatar: "img/testimonials/陈莉君.png" diff --git a/data/testimonials/2.yaml b/data/testimonials/2.yaml new file mode 100644 index 0000000..deb88b7 --- /dev/null +++ b/data/testimonials/2.yaml @@ -0,0 +1,4 @@ +text: "指导建设Linux内核之旅社区,2010年初硕士毕业加入腾讯搜索线,从事搜索监控平台和爬虫平台研发。2013年底至今在腾讯互动娱乐数据中心负责游戏数据分析后台架构设计开发,包括根游戏据数据特点定制开发的分布式文件存储系统,调度系统,画像系统,以及采用开源社区的hdfs,spark等组建来建设腾讯游戏数据分析系统。在分布式存储系统,调度系统和多维数据分析领域有较丰富的经验。" +name: "许振文" +position: "腾讯工程师" +avatar: "img/testimonials/许振文.png" diff --git a/data/testimonials/3.yaml b/data/testimonials/3.yaml new file mode 100644 index 0000000..21b2cbf --- /dev/null +++ b/data/testimonials/3.yaml @@ -0,0 +1,4 @@ +text: "Linux内核之旅社区LMP项目负责人,西邮陈莉君教授门下研二学生,Linux内核之旅公众号维护者,Linux内核之旅社区建设者,目前负责Linux内核之旅社区LMP(Linux microscope)项目,希望利用BPF技术统一提取Linux内核性能数据,正在负责项目的组织安排。热爱Linux内核、BPF、Golang,对新技术有浓厚的兴趣。" +name: "赵晨雨" +position: "陈莉君教授研二学生" +avatar: "img/testimonials/赵晨雨.png" diff --git a/data/testimonials/4.yaml b/data/testimonials/4.yaml new file mode 100644 index 0000000..90b1d82 --- /dev/null +++ b/data/testimonials/4.yaml @@ -0,0 +1,4 @@ +text: "Linux内核之旅社区负责人,西邮陈莉君教授门下研一学生,Linux内核之旅社区建设者,负责Linux内核之旅网站、GitHub、微信公众号“Linux内核之旅”、学堂在线mooc和bilibili内核视频站平台正常运行。曾多次获得国奖励志奖学金、省级三好学生、优秀学生干部等,负责过大小项目共四项,两项专利发明人,三项软件著作权人。热爱开源,践行开放、自由和分享。" +name: "梁金荣" +position: "陈莉君教授研一学生" +avatar: "img/testimonials/梁金荣.png" diff --git a/data/testimonials/5.yaml b/data/testimonials/5.yaml new file mode 100644 index 0000000..c3d723e --- /dev/null +++ b/data/testimonials/5.yaml @@ -0,0 +1,4 @@ +text: "Linux内核之旅社区Github平台负责人,西邮陈莉君教授门下研一学生。曾在华为西安研究所任C++开发一职,目前兴趣是学习Linux内核网络安全相关内容。" +name: "白嘉庆" +position: "陈莉君教授研一学生" +avatar: "img/testimonials/白嘉庆.png" diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..8c1db06 --- /dev/null +++ b/public/404.html @@ -0,0 +1,306 @@ + + + + + + + + + + 404 Page not found + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+
+ +
+ +
+ +

We are sorry – this page is not here anymore

+

Error 404: Page not found

+ +

跳到主页 +

+
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + diff --git "a/public/blog/2020/04/10/tcp\344\270\242\345\214\205\345\210\206\346\236\220\345\256\236\351\252\214\350\247\243\346\236\220\344\270\200-proc\346\226\207\344\273\266\347\263\273\347\273\237/index.html" "b/public/blog/2020/04/10/tcp\344\270\242\345\214\205\345\210\206\346\236\220\345\256\236\351\252\214\350\247\243\346\236\220\344\270\200-proc\346\226\207\344\273\266\347\263\273\347\273\237/index.html" new file mode 100644 index 0000000..c4ac5f8 --- /dev/null +++ "b/public/blog/2020/04/10/tcp\344\270\242\345\214\205\345\210\206\346\236\220\345\256\236\351\252\214\350\247\243\346\236\220\344\270\200-proc\346\226\207\344\273\266\347\263\273\347\273\237/index.html" @@ -0,0 +1,631 @@ + + + + + + + + + + “tcp丢包分析”实验解析(一)&ndash;proc文件系统 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+
+
+
+

“tcp丢包分析”实验解析(一)--proc文件系统

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

+ + + 10100-00+00 +

+ + +
+
+

tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。

+
+

最初开发 /proc 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用, /proc 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。

+

/proc文件系统可以为提供很多信息, 在左边是一系列数字编号,每个实际上都是一个目录,表示系统中的一个进程。由于在Linux中创建的第一个进程是 init 进程,因此它的 process-id 为 1。

+

1.png

+

右边的目录包含特定信息,比如cpuinfo包含了CPU的信息,modules包含了内核模块的信息。

+

2.png

+

为了解决一些实际问题,我们需要在/proc下创建条目捕获信息,使用文件系统通用方法肯定是不行的,需要使用相关API编写内核模块来实现。

+

在做谢宝友老师写的“TCP丢包分析”实验里,首先就会在/proc下创建条目,较为简单,先来看initexit

+
static int drop_packet_init(void)
+{
+	int ret;
+	struct proc_dir_entry *pe;
+
+	proc_mkdir("mooc", NULL);
+	proc_mkdir("mooc/net", NULL);
+
+	ret = -ENOMEM;
+	pe = proc_create("mooc/net/drop-packet",
+				S_IFREG | 0644,
+				NULL,
+				&drop_packet_fops);
+	if (!pe)
+		goto err_proc;
+
+	printk("drop-packet loaded.\n");
+
+	return 0;
+
+err_proc:
+	return ret;
+}
+
+static void drop_packet_exit(void)
+{
+	remove_proc_entry("mooc/net/drop-packet", NULL);
+	remove_proc_entry("mooc/net", NULL);
+	remove_proc_entry("mooc", NULL);
+	
+	printk("drop-packet unloaded.\n");
+}
+

框架还是比较清晰的,需要深入源码来感受一下,第一部分代码:

+

*struct proc_dir_entry pe;

+
struct proc_dir_entry {
+	/*
+	 * number of callers into module in progress;
+	 * negative -> it's going away RSN
+	 */
+	atomic_t in_use;
+	refcount_t refcnt;
+	struct list_head pde_openers;	/* who did ->open, but not ->release */
+	/* protects ->pde_openers and all struct pde_opener instances */
+	spinlock_t pde_unload_lock;
+	struct completion *pde_unload_completion;
+	const struct inode_operations *proc_iops;
+	const struct file_operations *proc_fops;
+	const struct dentry_operations *proc_dops;
+	union {
+		const struct seq_operations *seq_ops;
+		int (*single_show)(struct seq_file *, void *);
+	};
+	proc_write_t write;
+	void *data;
+	unsigned int state_size;
+	unsigned int low_ino;
+	nlink_t nlink;
+	kuid_t uid;
+	kgid_t gid;
+	loff_t size;
+	struct proc_dir_entry *parent;
+	struct rb_root subdir;
+	struct rb_node subdir_node;
+	char *name;
+	umode_t mode;
+	u8 namelen;
+	char inline_name[];
+} __randomize_layout;
+

结构proc_dir_entry定义在<fs/proc/internal.h>下,可以称为一个pde,在创建一个文件或目录时就会创建一个pde来管理它们。而在打开它们的时候,则会创建一个proc_inode结构:

+
struct proc_inode {
+	struct pid *pid;
+	unsigned int fd;
+	union proc_op op;
+	struct proc_dir_entry *pde;
+	struct ctl_table_header *sysctl;
+	struct ctl_table *sysctl_entry;
+	struct hlist_node sysctl_inodes;
+	const struct proc_ns_operations *ns_ops;
+	struct inode vfs_inode;
+} __randomize_layout;
+

可以使用PROC_I宏,也就是我们熟悉的container_of,从虚拟文件系统的inode得到proc_inode,进而得到pde

+
static inline struct proc_inode *PROC_I(const struct inode *inode)
+{
+	return container_of(inode, struct proc_inode, vfs_inode);
+}
+
+static inline struct proc_dir_entry *PDE(const struct inode *inode)
+{
+	return PROC_I(inode)->pde;
+}
+

回到proc_dir_entry结构,很多信息从字段名字就可以看出,pde需要指向创建自己的父pde结构,subdir的组织方式是红黑树,还需要我们实现操作集以及一些引用计数和命名规则等等。

+

有意思的是,除了操作集之外还有一个proc_write_t,对于一些功能比较简单的proc文件,我们只要实现这个函数即可,而不用设置inode_operations结构,在注册proc文件的时候,会自动为proc_fops设置一个缺省的 file_operations结构。

+

此时,我们可以想象以下模型:

+

3.png

+

第二部分代码是:

+

proc_mkdir(“mooc”, NULL);

+

proc_mkdir(“mooc/net”, NULL);

+

remove_proc_entry(“mooc/net”, NULL);

+

remove_proc_entry(“mooc”, NULL);

+

易知其功能是在/proc下创建和删除条目mooc/net,以创建操作为例,看下内核代码如何实现的:

+
struct proc_dir_entry *proc_mkdir(const char *name,
+		struct proc_dir_entry *parent)
+{
+	return proc_mkdir_data(name, 0, parent, NULL);
+}
+EXPORT_SYMBOL(proc_mkdir);
+
struct proc_dir_entry *proc_mkdir_data(const char *name, umode_t mode,
+		struct proc_dir_entry *parent, void *data)
+{
+	struct proc_dir_entry *ent;
+
+	if (mode == 0)
+		mode = S_IRUGO | S_IXUGO;
+
+	ent = __proc_create(&parent, name, S_IFDIR | mode, 2);
+	if (ent) {
+		ent->data = data;
+		ent->proc_fops = &proc_dir_operations;
+		ent->proc_iops = &proc_dir_inode_operations;
+		parent->nlink++;
+		ent = proc_register(parent, ent);
+		if (!ent)
+			parent->nlink--;
+	}
+	return ent;
+}
+EXPORT_SYMBOL_GPL(proc_mkdir_data);
+

这里逻辑很简单,proc_mkdir实际上是proc_mkdir_data默认了权限为 S_IRUGO | S_IXUGO,再调用 __proc_create初始化一个局部pde,如果成功则初始化操作集,并调用proc_register注册这个pde到父pde下并返回。

+

__proc_create调用kmem_cache_zalloccache中获取空间给pde,并且对条目名称进行检查。如果成功,则对名称、模式等属性赋值,设置引用计数并初始化锁。

+

__proc_register接收两个参数,一个父亲pde,一个当前pde,目的是把当前pde挂到父亲名下,前面提到subdir的组织形式是红黑树,那么肯定涉及相关代码,来看:

+
struct proc_dir_entry *proc_create_reg(const char *name, umode_t mode,
+		struct proc_dir_entry **parent, void *data)
+{
+	struct proc_dir_entry *p;
+
+	if ((mode & S_IFMT) == 0)
+		mode |= S_IFREG;
+	if ((mode & S_IALLUGO) == 0)
+		mode |= S_IRUGO;
+	if (WARN_ON_ONCE(!S_ISREG(mode)))
+		return NULL;
+
+	p = __proc_create(parent, name, mode, 1);
+	if (p) {
+		p->proc_iops = &proc_file_inode_operations;
+		p->data = data;
+	}
+	return p;
+}
+

首先判断当前pdeid是否越界,如果没有打开子目录锁,把当前pdeparent字段指向父亲pde,并尝试在红黑树中插入子目录,成功后重新上锁并返回当前pde

+
static bool pde_subdir_insert(struct proc_dir_entry *dir,
+			      struct proc_dir_entry *de)
+{
+	struct rb_root *root = &dir->subdir;
+	struct rb_node **new = &root->rb_node, *parent = NULL;
+
+	/* Figure out where to put new node */
+	while (*new) {
+		struct proc_dir_entry *this = rb_entry(*new,
+						       struct proc_dir_entry,
+						       subdir_node);
+		int result = proc_match(de->name, this, de->namelen);
+
+		parent = *new;
+		if (result < 0)
+			new = &(*new)->rb_left;
+		else if (result > 0)
+			new = &(*new)->rb_right;
+		else
+			return false;
+	}
+
+	/* Add new node and rebalance tree. */
+	rb_link_node(&de->subdir_node, parent, new);
+	rb_insert_color(&de->subdir_node, root);
+	return true;
+}
+

红黑树的插入操作篇幅所限不再叙述。

+

下面看第三部分代码:

+
	pe = proc_create("mooc/net/drop-packet",
+				S_IFREG | 0644,
+				NULL,
+				&drop_packet_fops);
+
struct proc_dir_entry *proc_create(const char *name, umode_t mode,
+				   struct proc_dir_entry *parent,
+				   const struct file_operations *proc_fops)
+{
+	return proc_create_data(name, mode, parent, proc_fops, NULL);
+}
+EXPORT_SYMBOL(proc_create);
+

proc_create内部也是调用proc_create_data,但还需自行指定权限以及操作集回调,用于创建一个proc文件,在3.10内核中取代create_proc_entry这个旧的接口。

+

回到实验代码,我们为加入的条目编写操作集接口。

+
const struct file_operations drop_packet_fops = {
+	.open           = drop_packet_open,
+	.read           = seq_read,
+	.llseek         = seq_lseek,
+	.write          = drop_packet_write,
+	.release        = single_release,
+};
+

一般地,内核通过在procfs文件系统下建立文件来向用户空间提供输出信息,用户空间可以通过任何文本阅读应用查看该文件信息,但是procfs有一个缺陷,如果输出内容大于1个内存页,需要多次读,因此处理起来很难,另外,如果输出太大,速度比较慢,有时会出现一些意想不到的情况,Alexander Viro实现了一套新的功能,使得内核输出大文件信息更容易,它们叫做seq_file,所以在使用它们的操作集时需要包含seq_file.h头文件。

+

Drop_packet_open实际上是调用了single_open

+
static int drop_packet_open(struct inode *inode, struct file *filp)
+{
+	return single_open(filp, drop_packet_show, NULL);
+}
+

为什么这么做?内核文档给出了相关描述:

+

4.png

+

https://www.kernel.org/doc/Documentation/filesystems/seq_file.txt

+

你可能发现,内核文档里显示的是seq_open,而实验里是single_open,它们有什么区别呢?实际上内核文档的最后给出了答案:

+

5.png

+

谢宝友老师的实验中运用seq_file的极简版本(extra-simple version),只需定义一个show()函数。完整的情况我们还需要实现start(),next()等迭代器来对seq_file进行操作。极简版本中,open方法需要调用single_open,对应的,release方法调用single_release

+

推荐阅读https://www.ibm.com/developerworks/cn/linux/l-proc.html

+ +
+ + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/public/blog/2020/04/10/tcp\344\270\242\345\214\205\345\210\206\346\236\220\345\256\236\351\252\214\350\247\243\346\236\220\344\272\214-kprobe\345\222\214tracepoint/index.html" "b/public/blog/2020/04/10/tcp\344\270\242\345\214\205\345\210\206\346\236\220\345\256\236\351\252\214\350\247\243\346\236\220\344\272\214-kprobe\345\222\214tracepoint/index.html" new file mode 100644 index 0000000..1620423 --- /dev/null +++ "b/public/blog/2020/04/10/tcp\344\270\242\345\214\205\345\210\206\346\236\220\345\256\236\351\252\214\350\247\243\346\236\220\344\272\214-kprobe\345\222\214tracepoint/index.html" @@ -0,0 +1,613 @@ + + + + + + + + + + “tcp丢包分析”实验解析(二)&ndash;kprobe和tracepoint + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+
+
+
+

“tcp丢包分析”实验解析(二)--kprobe和tracepoint

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

+ + + 10100-00+00 +

+ + +
+
+

tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。

+
+

继续顺下实验代码,前面说过,我们需要为我们(在proc文件系统中)加入的条目编写操作集接口:

+
const struct file_operations drop_packet_fops = {
+	.open           = drop_packet_open,
+	.read           = seq_read,
+	.llseek         = seq_lseek,
+	.write          = drop_packet_write,
+	.release        = single_release,
+};
+

实验的运行逻辑重点落在了write操作的实现中:

+
static ssize_t drop_packet_write(struct file *file,
+	const char __user *buf, size_t count, loff_t *offs)
+{
+	int ret;
+	char cmd[255];
+	char chr[255];
+
+	if (count < 1 || *offs)
+		return -EINVAL;
+
+	if (copy_from_user(chr, buf, 255))
+		return -EFAULT;
+
+	ret = sscanf(chr, "%255s", cmd);
+	if (ret <= 0)
+		return -EINVAL;
+
+	if (strcmp(cmd, "activate") == 0) {
+		if (!drop_packet_activated)
+			drop_packet_activated = activate_drop_packet();
+	} else if (strcmp(cmd, "deactivate") == 0) {
+		if (drop_packet_activated)
+			deactivate_drop_packet();
+		drop_packet_activated = 0;
+	}
+
+	return count;
+}
+

它的逻辑很简单,我们把用户写入的字符串通过copy_from_user传入到内核buf中,然后调用sscanf格式化bufcmd,然后跟“activate”和“deactiavate”比较,换句话说,如果用户输入“activate”,那么就可以开启丢包检测了。在加载模块后,用如下命令可以查看proc内容,由drop_packet_show实现:

+
static int drop_packet_show(struct seq_file *m, void *v)
+{
+	seq_printf(m, "settings:\n");
+	seq_printf(m, "  activated: %s\n", drop_packet_activated ? "y" : "N");
+
+	return 0;
+}
+

cat /proc/mooc/net/drop-packet

+

结果如下:(省略了settings:)

+

activated: N

+

执行如下命令,可以激活丢包检测功能:

+

echo activate > /proc/mooc/net/drop-packet

+

再次查看proc文件内容,结果如下:

+

activated: y

+

那么接下来自然要看下activate_drop_packet干了些什么事:

+
static int activate_drop_packet(void)
+{
+	hook_tracepoint("net_dev_xmit", trace_net_dev_xmit_hit, NULL);
+	hook_kprobe(&kprobe_dev_queue_xmit, "dev_queue_xmit",
+				kprobe_dev_queue_xmit_pre, NULL);
+	hook_kprobe(&kprobe_eth_type_trans, "eth_type_trans",
+				kprobe_eth_type_trans_pre, NULL);
+	hook_kprobe(&kprobe_napi_gro_receive, "napi_gro_receive",
+				kprobe_napi_gro_receive_pre, NULL);
+	hook_kprobe(&kprobe___netif_receive_skb_core, "__netif_receive_skb_core",
+				kprobe___netif_receive_skb_core_pre, NULL);
+	hook_kprobe(&kprobe_tcp_v4_rcv, "tcp_v4_rcv",
+				kprobe_tcp_v4_rcv_pre, NULL);
+
+	return 1;
+}
+

可以看到,这段代码在net_dev_xmit中挂接一个tracepoint钩子,在dev_queue_xmit/eth_type_trans/napi_gro_receive/__netif_receive_skb_core/tcp_v4_rcv等函数的入口处挂接一个kprobe钩子。

+

那么到底什么是tracepoint?kprobe又是什么?说它们之前不得不说一下ftrace。ftrace(function trace)是利用gcc 编译器在编译时在每个函数的入口地址放置一个 probe 点,这个 probe 点会调用一个 probe 函数,这样这个probe 函数会对每个执行的内核函数进行跟踪并打印日志到ring buffer中,而用户可以通过 debugfs 来访问ring buffer中的内容。

+

1.png

+

kprobe 是很早前就存在于内核中的一种动态 trace 工具。kprobe 本身利用了 int 3(在 x86 中)实现了 probe 点(对应图中的A)。使用 kprobe 需要用户自己实现 kernel module 来注册 probe 函数。kprobe 并没有统一的B、C 和 D。使用起来用户需要自己实现很多东西,不是很灵活。而在 function trace 出现后,kprobe 借用了它的一部分设计模式,实现了统一的 probe 函数(对应于图中的 B),并利用了 function trace 的环形缓存和用户接口部分,也就是 C 和 D 部分功能。

+

而tracepoint是静态的trace,说白了它就是内核开发人员提前设置好的跟踪点,也提供了管理桩函数的接口,它们已经编译进了内核,这样做既有优点也有缺点。优点是使用tracepoint的开销较小,并且它的API相对稳定;缺点也很明显,第一,默认的点明显不够多,可能覆盖不到你的需求;第二,你加一个点就需要重新编译内核,而kprobe不需要;第三,由于是静态的,不使用它也会造成开销(从内核文档可以看出这个问题已经被优化,现在基本忽略)。

+

实验代码中,挂接kprobe和tracepoint钩子的方法分别为hook_kprobehook_tracepointhook_kprobe代码如下:

+
int hook_kprobe(struct kprobe *kp, const char *name,
+		kprobe_pre_handler_t pre, kprobe_post_handler_t post)
+{
+	kprobe_opcode_t *addr;
+
+	if (!name || strlen(name) >= 255)
+		return -EINVAL;
+	addr = (kprobe_opcode_t *)kallsyms_lookup_name(name);
+	if (!addr)
+		return -EINVAL;
+
+	memset(kp, 0, sizeof(struct kprobe));
+	kp->symbol_name = name;
+	kp->pre_handler = pre;
+	kp->post_handler = post;
+
+	register_kprobe(kp);
+
+	return 0;
+}
+

由于是动态追踪,需要先调用kallsyms_lookup_name检查是否有这个函数。如果有这个函数,那么就把kprobe的pre_handlerpost_handler赋值给他,这两个都是钩子,会在其他地方定义好,它才是真正要干的事情,这是kprobe机制规定的,不用觉得奇怪。最后调用register_kprobe注册这个kprobe。

+

register_kprobe函数非常复杂,我这里截取最为核心的部分:

+
cpus_read_lock();
+	/* Prevent text modification */
+	mutex_lock(&text_mutex);
+	ret = prepare_kprobe(p);
+	mutex_unlock(&text_mutex);
+	cpus_read_unlock();
+	if (ret)
+		goto out;
+
+	INIT_HLIST_NODE(&p->hlist);
+	hlist_add_head_rcu(&p->hlist,
+		       &kprobe_table[hash_ptr(p->addr, KPROBE_HASH_BITS)]);
+
+	if (!kprobes_all_disarmed && !kprobe_disabled(p)) {
+		ret = arm_kprobe(p);
+		if (ret) {
+			hlist_del_rcu(&p->hlist);
+			synchronize_rcu();
+			goto out;
+		}
+	}
+

prepare_kprobe保存当前的指令,arm_kprobe将当前指令替换为int3。然后就会执行kprobe_int3_handler,此时如果你的handler实现了并且注册了,那么就会执行你的handler了,这里应该就是“插桩”的本质了。

+
int kprobe_int3_handler(struct pt_regs *regs)
+{
+	kprobe_opcode_t *addr;
+	struct kprobe *p;
+	struct kprobe_ctlblk *kcb;
+
+	if (user_mode(regs))
+		return 0;
+
+	addr = (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t));
+	/*
+	 * We don't want to be preempted for the entire duration of kprobe
+	 * processing. Since int3 and debug trap disables irqs and we clear
+	 * IF while singlestepping, it must be no preemptible.
+	 */
+
+	kcb = get_kprobe_ctlblk();
+	p = get_kprobe(addr);
+
+	if (p) {
+		if (kprobe_running()) {
+			if (reenter_kprobe(p, regs, kcb))
+				return 1;
+		} else {
+			set_current_kprobe(p, regs, kcb);
+			kcb->kprobe_status = KPROBE_HIT_ACTIVE;
+
+			/*
+			 * If we have no pre-handler or it returned 0, we
+			 * continue with normal processing.  If we have a
+			 * pre-handler and it returned non-zero, that means
+			 * user handler setup registers to exit to another
+			 * instruction, we must skip the single stepping.
+			 */
+			if (!p->pre_handler || !p->pre_handler(p, regs))
+				setup_singlestep(p, regs, kcb, 0);
+			else
+				reset_current_kprobe();
+			return 1;
+		}
+	} else if (*addr != BREAKPOINT_INSTRUCTION) {...
+

在设置单步调试setup_singlestep时,还会把post_handler的地址设置为下一个执行指令,以便pre_handler返回时可以“reenter”到kprobe异常,顺利执行post_handler,最后才执行原本执行的代码,它存放在kprobe结构体中。虽然这个实验并没有实现post_handler,但机制就是这样的。

+
static void setup_singlestep(struct kprobe *p, struct pt_regs *regs,
+			     struct kprobe_ctlblk *kcb, int reenter)
+{
+	if (setup_detour_execution(p, regs, reenter))
+		return;
+
+#if !defined(CONFIG_PREEMPT)
+	if (p->ainsn.boostable && !p->post_handler) {
+		/* Boost up -- we can execute copied instructions directly */
+		if (!reenter)
+			reset_current_kprobe();
+		/*
+		 * Reentering boosted probe doesn't reset current_kprobe,
+		 * nor set current_kprobe, because it doesn't use single
+		 * stepping.
+		 */
+		regs->ip = (unsigned long)p->ainsn.insn;
+		return;
+	}
+#endif
+	if (reenter) {
+		save_previous_kprobe(kcb);
+		set_current_kprobe(p, regs, kcb);
+		kcb->kprobe_status = KPROBE_REENTER;
+	} else
+		kcb->kprobe_status = KPROBE_HIT_SS;
+	/* Prepare real single stepping */
+	clear_btf();
+	regs->flags |= X86_EFLAGS_TF;
+	regs->flags &= ~X86_EFLAGS_IF;
+	/* single step inline if the instruction is an int3 */
+	if (p->opcode == BREAKPOINT_INSTRUCTION)
+		regs->ip = (unsigned long)p->addr;
+	else
+		regs->ip = (unsigned long)p->ainsn.insn;
+}
+NOKPROBE_SYMBOL(setup_singlestep);
+

Tracepoint相对简单一点,实验里直接调用了tracepoint_probe_register,就不展开说了,通常情况都是用DECLARE_TRACE DEFINE_TRACE这两个宏。可以阅读内核文档查阅一些高级的用法。

+

值得一提的是,实验代码为tracepoint设置了条件宏以便适应不同的内核版本,比较有意思,这里给出结构大家感受一下:

+

2.png

+ +
+ + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/public/blog/2020/\346\265\213\350\257\225.jpg" "b/public/blog/2020/\346\265\213\350\257\225.jpg" new file mode 100644 index 0000000..33187e5 Binary files /dev/null and "b/public/blog/2020/\346\265\213\350\257\225.jpg" differ diff --git a/public/blog/index.html b/public/blog/index.html new file mode 100644 index 0000000..dd79e22 --- /dev/null +++ b/public/blog/index.html @@ -0,0 +1,478 @@ + + + + + + + + + + Blogs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+
+
+
+

Blogs

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

“tcp丢包分析”实验解析(一)--proc文件系统

+
+

+ + + + in Linux内核试验 + + + +

+ +

+ 10100-00+00 +

+ +
+

tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 最初开发 /proc 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用, /proc 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。 +/proc文件系统可以为提供很多信息, 在左边是一系列数字编号,每个实际上都是一个目录,表示系统中的一个进程。由于在Linux中创建的第一个进程是 init 进程,因此它的 process-id 为 1。 +右边的目录包含特定信息,比如cpuinfo包含了CPU的信息,modules包含了内核模块的信息。 +为了解决一些实际问题,我们需要在/proc下创建条目捕获信息,使用文件系统通用方法肯定是不行的,需要使用相关API编写内核模块来实现。 +在做谢宝友老师写的“TCP丢包分析”实验里,首先就会在/proc下创建条目,较为简单,先来看init和exit: +static int drop_packet_init(void) { int ret; struct proc_dir_entry *pe; proc_mkdir("mooc", NULL); proc_mkdir("mooc/net", NULL); ret = -ENOMEM; pe = proc_create("mooc/net/drop-packet", S_IFREG | 0644, NULL, &drop_packet_fops); if (!pe) goto err_proc; printk("drop-packet loaded.\n"); return 0; err_proc: return ret; } static void drop_packet_exit(void) { remove_proc_entry("mooc/net/drop-packet", NULL); remove_proc_entry("mooc/net", NULL); remove_proc_entry("mooc", NULL); printk("drop-packet unloaded.\n"); } 框架还是比较清晰的,需要深入源码来感受一下,第一部分代码: +*struct proc_dir_entry pe;

+

继续阅读 +

+
+
+
+ +
+
+
+ +
+
+

“tcp丢包分析”实验解析(二)--kprobe和tracepoint

+
+

+ + + + in Linux内核试验 + + + +

+ +

+ 10100-00+00 +

+ +
+

tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 继续顺下实验代码,前面说过,我们需要为我们(在proc文件系统中)加入的条目编写操作集接口: +const struct file_operations drop_packet_fops = { .open = drop_packet_open, .read = seq_read, .llseek = seq_lseek, .write = drop_packet_write, .release = single_release, }; 实验的运行逻辑重点落在了write操作的实现中: +static ssize_t drop_packet_write(struct file *file, const char __user *buf, size_t count, loff_t *offs) { int ret; char cmd[255]; char chr[255]; if (count < 1 || *offs) return -EINVAL; if (copy_from_user(chr, buf, 255)) return -EFAULT; ret = sscanf(chr, "%255s", cmd); if (ret <= 0) return -EINVAL; if (strcmp(cmd, "activate") == 0) { if (!

+

继续阅读 +

+
+
+
+ + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/blog/index.xml b/public/blog/index.xml new file mode 100644 index 0000000..520844a --- /dev/null +++ b/public/blog/index.xml @@ -0,0 +1,43 @@ + + + + Blogs on Linux内核之旅 + https://example.org/blog/ + Recent content in Blogs on Linux内核之旅 + Hugo -- gohugo.io + en-us + Fri, 10 Apr 2020 00:00:00 +0000 + + + + + + “tcp丢包分析”实验解析(一)--proc文件系统 + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%B8%80-proc%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/ + Fri, 10 Apr 2020 00:00:00 +0000 + + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%B8%80-proc%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/ + tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 最初开发 /proc 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用, /proc 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。 +/proc文件系统可以为提供很多信息, 在左边是一系列数字编号,每个实际上都是一个目录,表示系统中的一个进程。由于在Linux中创建的第一个进程是 init 进程,因此它的 process-id 为 1。 +右边的目录包含特定信息,比如cpuinfo包含了CPU的信息,modules包含了内核模块的信息。 +为了解决一些实际问题,我们需要在/proc下创建条目捕获信息,使用文件系统通用方法肯定是不行的,需要使用相关API编写内核模块来实现。 +在做谢宝友老师写的“TCP丢包分析”实验里,首先就会在/proc下创建条目,较为简单,先来看init和exit: +static int drop_packet_init(void) { int ret; struct proc_dir_entry *pe; proc_mkdir(&#34;mooc&#34;, NULL); proc_mkdir(&#34;mooc/net&#34;, NULL); ret = -ENOMEM; pe = proc_create(&#34;mooc/net/drop-packet&#34;, S_IFREG | 0644, NULL, &amp;drop_packet_fops); if (!pe) goto err_proc; printk(&#34;drop-packet loaded.\n&#34;); return 0; err_proc: return ret; } static void drop_packet_exit(void) { remove_proc_entry(&#34;mooc/net/drop-packet&#34;, NULL); remove_proc_entry(&#34;mooc/net&#34;, NULL); remove_proc_entry(&#34;mooc&#34;, NULL); printk(&#34;drop-packet unloaded.\n&#34;); } 框架还是比较清晰的,需要深入源码来感受一下,第一部分代码: +*struct proc_dir_entry pe; + + + + “tcp丢包分析”实验解析(二)--kprobe和tracepoint + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%BA%8C-kprobe%E5%92%8Ctracepoint/ + Fri, 10 Apr 2020 00:00:00 +0000 + + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%BA%8C-kprobe%E5%92%8Ctracepoint/ + tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 继续顺下实验代码,前面说过,我们需要为我们(在proc文件系统中)加入的条目编写操作集接口: +const struct file_operations drop_packet_fops = { .open = drop_packet_open, .read = seq_read, .llseek = seq_lseek, .write = drop_packet_write, .release = single_release, }; 实验的运行逻辑重点落在了write操作的实现中: +static ssize_t drop_packet_write(struct file *file, const char __user *buf, size_t count, loff_t *offs) { int ret; char cmd[255]; char chr[255]; if (count &lt; 1 || *offs) return -EINVAL; if (copy_from_user(chr, buf, 255)) return -EFAULT; ret = sscanf(chr, &#34;%255s&#34;, cmd); if (ret &lt;= 0) return -EINVAL; if (strcmp(cmd, &#34;activate&#34;) == 0) { if (! + + + + \ No newline at end of file diff --git a/public/blog/page/1/index.html b/public/blog/page/1/index.html new file mode 100644 index 0000000..005ac43 --- /dev/null +++ b/public/blog/page/1/index.html @@ -0,0 +1 @@ +https://example.org/blog/ \ No newline at end of file diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 0000000..68869a6 --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,396 @@ + + + + + + + + + + Categories + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+
+
+
+

Categories

+
+
+
+
+ + +
+
+
+ + +
+ + + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..c827ccf --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,24 @@ + + + + Categories on Linux内核之旅 + https://example.org/categories/ + Recent content in Categories on Linux内核之旅 + Hugo -- gohugo.io + en-us + Fri, 10 Apr 2020 00:00:00 +0000 + + + + + + Linux内核试验 + https://example.org/categories/linux%E5%86%85%E6%A0%B8%E8%AF%95%E9%AA%8C/ + Fri, 10 Apr 2020 00:00:00 +0000 + + https://example.org/categories/linux%E5%86%85%E6%A0%B8%E8%AF%95%E9%AA%8C/ + + + + + \ No newline at end of file diff --git "a/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/index.html" "b/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/index.html" new file mode 100644 index 0000000..d6cec08 --- /dev/null +++ "b/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/index.html" @@ -0,0 +1,478 @@ + + + + + + + + + + Linux内核试验 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+
+
+
+

Linux内核试验

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

“tcp丢包分析”实验解析(一)--proc文件系统

+
+

+ + + + in Linux内核试验 + + + +

+ +

+ 10100-00+00 +

+ +
+

tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 最初开发 /proc 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用, /proc 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。 +/proc文件系统可以为提供很多信息, 在左边是一系列数字编号,每个实际上都是一个目录,表示系统中的一个进程。由于在Linux中创建的第一个进程是 init 进程,因此它的 process-id 为 1。 +右边的目录包含特定信息,比如cpuinfo包含了CPU的信息,modules包含了内核模块的信息。 +为了解决一些实际问题,我们需要在/proc下创建条目捕获信息,使用文件系统通用方法肯定是不行的,需要使用相关API编写内核模块来实现。 +在做谢宝友老师写的“TCP丢包分析”实验里,首先就会在/proc下创建条目,较为简单,先来看init和exit: +static int drop_packet_init(void) { int ret; struct proc_dir_entry *pe; proc_mkdir("mooc", NULL); proc_mkdir("mooc/net", NULL); ret = -ENOMEM; pe = proc_create("mooc/net/drop-packet", S_IFREG | 0644, NULL, &drop_packet_fops); if (!pe) goto err_proc; printk("drop-packet loaded.\n"); return 0; err_proc: return ret; } static void drop_packet_exit(void) { remove_proc_entry("mooc/net/drop-packet", NULL); remove_proc_entry("mooc/net", NULL); remove_proc_entry("mooc", NULL); printk("drop-packet unloaded.\n"); } 框架还是比较清晰的,需要深入源码来感受一下,第一部分代码: +*struct proc_dir_entry pe;

+

继续阅读 +

+
+
+
+ +
+
+
+ +
+
+

“tcp丢包分析”实验解析(二)--kprobe和tracepoint

+
+

+ + + + in Linux内核试验 + + + +

+ +

+ 10100-00+00 +

+ +
+

tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 继续顺下实验代码,前面说过,我们需要为我们(在proc文件系统中)加入的条目编写操作集接口: +const struct file_operations drop_packet_fops = { .open = drop_packet_open, .read = seq_read, .llseek = seq_lseek, .write = drop_packet_write, .release = single_release, }; 实验的运行逻辑重点落在了write操作的实现中: +static ssize_t drop_packet_write(struct file *file, const char __user *buf, size_t count, loff_t *offs) { int ret; char cmd[255]; char chr[255]; if (count < 1 || *offs) return -EINVAL; if (copy_from_user(chr, buf, 255)) return -EFAULT; ret = sscanf(chr, "%255s", cmd); if (ret <= 0) return -EINVAL; if (strcmp(cmd, "activate") == 0) { if (!

+

继续阅读 +

+
+
+
+ + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/index.xml" "b/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/index.xml" new file mode 100644 index 0000000..1e7d7a3 --- /dev/null +++ "b/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/index.xml" @@ -0,0 +1,43 @@ + + + + Linux内核试验 on Linux内核之旅 + https://example.org/categories/linux%E5%86%85%E6%A0%B8%E8%AF%95%E9%AA%8C/ + Recent content in Linux内核试验 on Linux内核之旅 + Hugo -- gohugo.io + en-us + Fri, 10 Apr 2020 00:00:00 +0000 + + + + + + “tcp丢包分析”实验解析(一)--proc文件系统 + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%B8%80-proc%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/ + Fri, 10 Apr 2020 00:00:00 +0000 + + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%B8%80-proc%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/ + tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 最初开发 /proc 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用, /proc 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。 +/proc文件系统可以为提供很多信息, 在左边是一系列数字编号,每个实际上都是一个目录,表示系统中的一个进程。由于在Linux中创建的第一个进程是 init 进程,因此它的 process-id 为 1。 +右边的目录包含特定信息,比如cpuinfo包含了CPU的信息,modules包含了内核模块的信息。 +为了解决一些实际问题,我们需要在/proc下创建条目捕获信息,使用文件系统通用方法肯定是不行的,需要使用相关API编写内核模块来实现。 +在做谢宝友老师写的“TCP丢包分析”实验里,首先就会在/proc下创建条目,较为简单,先来看init和exit: +static int drop_packet_init(void) { int ret; struct proc_dir_entry *pe; proc_mkdir(&#34;mooc&#34;, NULL); proc_mkdir(&#34;mooc/net&#34;, NULL); ret = -ENOMEM; pe = proc_create(&#34;mooc/net/drop-packet&#34;, S_IFREG | 0644, NULL, &amp;drop_packet_fops); if (!pe) goto err_proc; printk(&#34;drop-packet loaded.\n&#34;); return 0; err_proc: return ret; } static void drop_packet_exit(void) { remove_proc_entry(&#34;mooc/net/drop-packet&#34;, NULL); remove_proc_entry(&#34;mooc/net&#34;, NULL); remove_proc_entry(&#34;mooc&#34;, NULL); printk(&#34;drop-packet unloaded.\n&#34;); } 框架还是比较清晰的,需要深入源码来感受一下,第一部分代码: +*struct proc_dir_entry pe; + + + + “tcp丢包分析”实验解析(二)--kprobe和tracepoint + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%BA%8C-kprobe%E5%92%8Ctracepoint/ + Fri, 10 Apr 2020 00:00:00 +0000 + + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%BA%8C-kprobe%E5%92%8Ctracepoint/ + tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 继续顺下实验代码,前面说过,我们需要为我们(在proc文件系统中)加入的条目编写操作集接口: +const struct file_operations drop_packet_fops = { .open = drop_packet_open, .read = seq_read, .llseek = seq_lseek, .write = drop_packet_write, .release = single_release, }; 实验的运行逻辑重点落在了write操作的实现中: +static ssize_t drop_packet_write(struct file *file, const char __user *buf, size_t count, loff_t *offs) { int ret; char cmd[255]; char chr[255]; if (count &lt; 1 || *offs) return -EINVAL; if (copy_from_user(chr, buf, 255)) return -EFAULT; ret = sscanf(chr, &#34;%255s&#34;, cmd); if (ret &lt;= 0) return -EINVAL; if (strcmp(cmd, &#34;activate&#34;) == 0) { if (! + + + + \ No newline at end of file diff --git "a/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/page/1/index.html" "b/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/page/1/index.html" new file mode 100644 index 0000000..7426c5a --- /dev/null +++ "b/public/categories/linux\345\206\205\346\240\270\350\257\225\351\252\214/page/1/index.html" @@ -0,0 +1 @@ +https://example.org/categories/linux%E5%86%85%E6%A0%B8%E8%AF%95%E9%AA%8C/ \ No newline at end of file diff --git a/public/categories/page/1/index.html b/public/categories/page/1/index.html new file mode 100644 index 0000000..2c607ef --- /dev/null +++ b/public/categories/page/1/index.html @@ -0,0 +1 @@ +https://example.org/categories/ \ No newline at end of file diff --git a/public/ceshi/index.html b/public/ceshi/index.html new file mode 100644 index 0000000..c534f13 --- /dev/null +++ b/public/ceshi/index.html @@ -0,0 +1,12 @@ + + + + +内核mooc + + + +测试 + + + \ No newline at end of file diff --git a/public/community/index.html b/public/community/index.html new file mode 100644 index 0000000..7e726ea --- /dev/null +++ b/public/community/index.html @@ -0,0 +1,13 @@ + + + + +社区 + + +社区版块内容,自己开发,可找模板 + + + + + diff --git a/public/contact/index.html b/public/contact/index.html new file mode 100644 index 0000000..1d0d35b --- /dev/null +++ b/public/contact/index.html @@ -0,0 +1,404 @@ + + + + + + + + + + 关于 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+
+
+
+

关于

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

关于Linux内核之旅社区

+

Linux内核之旅社区是由西邮陈莉君教授创建,我们致力于传播开源文化,教授Linux内核知识。目前我们有五大平台,包括Linux内核之旅网站、GitHub、微信公众号“Linux内核之旅”、学堂在线mooc和bilibili内核视频站。

+

也许在我们的课程里,就有下一站的方向。 愿你活出自己想要的模样,永远保持骄傲。 –陈莉君教授

+

我们的目标

+
    +
  1. 开源文化传播
  2. +
  3. 内核知识教学
  4. +
  5. Linux知识传播
  6. +
+

我们的平台

+
    +
  1. linuxkerneltravel公众号平台:传播媒介
  2. +
+
    +
  • 定期推送linux内核相关的文章
  • +
  • 大家的成果展示平台
  • +
+
    +
  1. linuxkerneltravel网站:文章内容输出平台
  2. +
+
    +
  • 社区内容承输出点
  • +
  • 学习周报
  • +
  • 文章翻译
  • +
+
    +
  1. linuxkerneltravel的github社区:协作平台
  2. +
+
    +
  • 社区&网站代码协作平台
  • +
  • 文章&代码&项目开发协作平台
  • +
+
    +
  1. 学堂在线mooc:内核课程输出平台
  2. +
+
    +
  • 内核知识教学
  • +
  • 讨论区答疑
  • +
+
    +
  1. bilibili视频网站:管理内核学习视频
  2. +
+
    +
  • 分享内核知识
  • +
  • 管理大家平时录制的内核学习视频
  • +
+

社区委员会

+

社区成员.png

+

联系方式

+

邮箱:liangjinrong111@163.com

+

微信公众号:Linux内核之旅

+ + + + +
+ +
+ +
+ + + +
+ +
+ +
+ + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/css/animate.css b/public/css/animate.css new file mode 100644 index 0000000..f784ce8 --- /dev/null +++ b/public/css/animate.css @@ -0,0 +1,3158 @@ +@charset "UTF-8"; +/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2014 Daniel Eden +*/ + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +@-webkit-keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +@keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + -ms-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + -ms-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + 0% { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes wobble { + 0% { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + animation-name: bounceOut; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + 0% {opacity: 0;} + 100% {opacity: 1;} +} + +@keyframes fadeIn { + 0% {opacity: 0;} + 100% {opacity: 1;} +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + 0% {opacity: 1;} + 100% {opacity: 0;} +} + +@keyframes fadeOut { + 0% {opacity: 1;} + 100% {opacity: 0;} +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-animation-duration: .75s; + animation-duration: .75s; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-name: hinge; + animation-name: hinge; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +@keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} + +@-webkit-keyframes slideInDown { + 0% { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + visibility: visible; + } + + 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes slideInDown { + 0% { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + visibility: visible; + } + + 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown; +} + +@-webkit-keyframes slideInLeft { + 0% { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + visibility: visible; + } + + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes slideInLeft { + 0% { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + visibility: visible; + } + + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft; +} + +@-webkit-keyframes slideInRight { + 0% { + -webkit-transform: translateX(100%); + transform: translateX(100%); + visibility: visible; + } + + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes slideInRight { + 0% { + -webkit-transform: translateX(100%); + transform: translateX(100%); + visibility: visible; + } + + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight; +} + +@-webkit-keyframes slideInUp { + 0% { + -webkit-transform: translateY(100%); + transform: translateY(100%); + visibility: visible; + } + + 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes slideInUp { + 0% { + -webkit-transform: translateY(100%); + transform: translateY(100%); + visibility: visible; + } + + 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +.slideInUp { + -webkit-animation-name: slideInUp; + animation-name: slideInUp; +} + +@-webkit-keyframes slideOutDown { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + visibility: hidden; + -webkit-transform: translateY(100%); + transform: translateY(100%); + } +} + +@keyframes slideOutDown { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + visibility: hidden; + -webkit-transform: translateY(100%); + transform: translateY(100%); + } +} + +.slideOutDown { + -webkit-animation-name: slideOutDown; + animation-name: slideOutDown; +} + +@-webkit-keyframes slideOutLeft { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + visibility: hidden; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + } +} + +@keyframes slideOutLeft { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + visibility: hidden; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft; +} + +@-webkit-keyframes slideOutRight { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + visibility: hidden; + -webkit-transform: translateX(100%); + transform: translateX(100%); + } +} + +@keyframes slideOutRight { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + visibility: hidden; + -webkit-transform: translateX(100%); + transform: translateX(100%); + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight; +} + +@-webkit-keyframes slideOutUp { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + visibility: hidden; + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + } +} + +@keyframes slideOutUp { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + visibility: hidden; + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} diff --git a/public/css/custom.css b/public/css/custom.css new file mode 100644 index 0000000..95c3097 --- /dev/null +++ b/public/css/custom.css @@ -0,0 +1,10 @@ +/* your styles go here */ + +.box-image-text .image { + min-height: 200px; + max-height: 200px; +} + +.box-simple { + min-height: 230px; +} diff --git a/public/css/owl.carousel.css b/public/css/owl.carousel.css new file mode 100644 index 0000000..4ef435a --- /dev/null +++ b/public/css/owl.carousel.css @@ -0,0 +1,70 @@ +/* + * Core Owl Carousel CSS File + * v1.3.2 + */ + +/* clearfix */ +.owl-carousel .owl-wrapper:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} +/* display none until init */ +.owl-carousel{ + display: none; + position: relative; + width: 100%; + -ms-touch-action: pan-y; +} +.owl-carousel .owl-wrapper{ + display: none; + position: relative; + -webkit-transform: translate3d(0px, 0px, 0px); +} +.owl-carousel .owl-wrapper-outer{ + overflow: hidden; + position: relative; + width: 100%; +} +.owl-carousel .owl-wrapper-outer.autoHeight{ + -webkit-transition: height 500ms ease-in-out; + -moz-transition: height 500ms ease-in-out; + -ms-transition: height 500ms ease-in-out; + -o-transition: height 500ms ease-in-out; + transition: height 500ms ease-in-out; +} + +.owl-carousel .owl-item{ + float: left; +} +.owl-controls .owl-page, +.owl-controls .owl-buttons div{ + cursor: pointer; +} +.owl-controls { + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +/* mouse grab icon */ +.grabbing { + cursor:url(/img/grabbing.png) 8 8, move; +} + +/* fix */ +.owl-carousel .owl-wrapper, +.owl-carousel .owl-item{ + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + -webkit-transform: translate3d(0,0,0); + -moz-transform: translate3d(0,0,0); + -ms-transform: translate3d(0,0,0); +} diff --git a/public/css/owl.theme.css b/public/css/owl.theme.css new file mode 100644 index 0000000..e080540 --- /dev/null +++ b/public/css/owl.theme.css @@ -0,0 +1,69 @@ +/* +* Owl Carousel Owl Demo Theme +* v1.3.2 +*/ + +.owl-theme .owl-controls{ + margin-top: 10px; + text-align: center; +} + +/* Styling Next and Prev buttons */ + +.owl-theme .owl-controls .owl-buttons div{ + display: inline-block; + zoom: 1; + *display: inline;/*IE7 life-saver */ +} +/* Clickable class fix problem with hover on touch devices */ +/* Use it for non-touch hover action */ +.owl-theme .owl-controls.clickable .owl-buttons div:hover{ + filter: Alpha(Opacity=100);/*IE7 fix*/ + opacity: 1; + text-decoration: none; +} + +/* Styling Pagination*/ + +.owl-theme .owl-controls .owl-page{ + display: inline-block; + zoom: 1; + *display: inline;/*IE7 life-saver */ +} +.owl-theme .owl-controls .owl-page span{ + display: block; + width: 12px; + height: 12px; + margin: 5px 7px; + filter: Alpha(Opacity=50);/*IE7 fix*/ + opacity: 0.5; + -webkit-border-radius: 20px; + -moz-border-radius: 20px; + border-radius: 20px; + background: #869791; +} + +.owl-theme .owl-controls .owl-page.active span, +.owl-theme .owl-controls.clickable .owl-page:hover span{ + filter: Alpha(Opacity=100);/*IE7 fix*/ + opacity: 1; +} + +/* If PaginationNumbers is true */ + +.owl-theme .owl-controls .owl-page span.owl-numbers{ + height: auto; + width: auto; + color: #FFF; + padding: 2px 10px; + font-size: 12px; + -webkit-border-radius: 30px; + -moz-border-radius: 30px; + border-radius: 30px; +} + +/* preloading images */ +.owl-item.loading{ + min-height: 150px; + background: url(AjaxLoader.gif) no-repeat center center +} \ No newline at end of file diff --git a/public/css/style.blue.css b/public/css/style.blue.css new file mode 100644 index 0000000..697579b --- /dev/null +++ b/public/css/style.blue.css @@ -0,0 +1,3566 @@ +.clearfix:before, +.clearfix:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; +} +.clearfix:after, +.navbar:after, +.navbar-header: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; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* general styles */ +a, +button { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +a i[class^="fa"], +button i[class^="fa"] { + margin: 0 5px; +} +.clickable { + cursor: pointer !important; +} +.required { + color: #467fbf; +} +.accent { + color: #467fbf; +} +.text-uppercase { + text-transform: uppercase; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .text-center-sm { + text-align: center; + } +} +p.lead { + margin-bottom: 40px; +} +section, +div.section { + margin-bottom: 40px; +} +.no-mb { + margin-bottom: 0 !important; +} +.mb-small { + margin-bottom: 20px !important; +} +.heading { + margin-bottom: 40px; +} +.heading h1, +.heading h2, +.heading h3, +.heading h4, +.heading h5 { + display: inline-block; + border-bottom: solid 5px #467fbf; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; + vertical-align: middle; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.heading h1 i[class^="fa"], +.heading h2 i[class^="fa"], +.heading h3 i[class^="fa"], +.heading h4 i[class^="fa"], +.heading h5 i[class^="fa"] { + display: inline-block; + background: #467fbf; + width: 30px; + height: 30px; + vertical-align: middle; + text-align: center; + color: #fff; + font-size: 12px; + line-height: 30px; + border-radius: 15px; +} +.icon { + display: inline-block; + width: 80px; + height: 80px; + color: #fff; + line-height: 80px; + border-radius: 40px; + border: solid 1px #fff; + font-size: 20px; +} +.icon.icon-lg { + font-size: 30px; + border-width: 2px; +} +.ul-icons { + padding-left: 10px; +} +.ul-icons li { + list-style-type: none; + line-height: 20px; + margin-bottom: 20px; +} +.ul-icons li i { + width: 20px; + height: 20px; + background: #467fbf; + color: #fff; + text-align: center; + border-radius: 10px; + line-height: 20px; + margin-right: 10px; +} +ul.list-style-none { + list-style: none; +} +#text-page h1, +#text-page h2, +#text-page h3 { + font-weight: 700; +} +#error-page { + text-align: center; + margin-top: 40px; + margin-bottom: 100px; +} +#error-page h4 { + margin-bottom: 40px; +} +#error-page p.buttons { + margin-top: 40px; +} +.pages-listing .item { + text-align: center; +} +.pages-listing .item h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 20px; + letter-spacing: 0.08em; +} +.pages-listing .item h3 a { + color: #555555; +} +.pages-listing .item .text { + margin-bottom: 20px; +} +.pages-listing .item .text p { + color: #999999; + font-size: 12px; + margin-bottom: 20px; +} +.banner { + margin-bottom: 30px; + text-align: center; +} +.banner img { + margin: 0 auto; +} +.banner a:hover img { + opacity: 0.8; + filter: alpha(opacity=80); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.pages { + text-align: center; +} +.pages .loadMore { + text-align: center; +} +.pages .pagination { + text-align: center; +} +.features-buttons button { + margin-bottom: 20px; +} +@media (min-width: 1300px) { + body.boxed { + background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); + } + body.boxed #all { + position: relative; + background: #fff; + width: 1200px; + margin: 0 auto; + overflow: hidden; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + } +} +#top { + background: #555555; + color: #eeeeee; + padding: 10px 0; +} +#top p { + margin: 0; + font-size: 12px; +} +#top .social { + float: right; + text-align: right; +} +#top .social a { + color: #999999; + display: inline-block; + width: 24px; + height: 24px; + border-radius: 12px; + line-height: 24px; + font-size: 12px; + text-align: center; +} +#top .social a:hover { + color: #fff; + background: #467fbf; + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#top .social a:hover.facebook { + background-color: #4460ae; +} +#top .social a:hover.gplus { + background-color: #c21f25; +} +#top .social a:hover.twitter { + background-color: #3cf; +} +#top .social a:hover.instagram { + background-color: #cd4378; +} +#top .social a:hover.email { + background-color: #4a7f45; +} +#top .login { + float: right; +} +#top .login a { + font-size: 12px; + color: #eeeeee; + margin-right: 15px; + text-decoration: none; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.10em; +} +@media (max-width: 767px) { + #top .login { + float: left; + } +} +#top.light { + background: #fff; + color: #999999; + border-bottom: solid 1px #eeeeee; +} +#top.light .login a { + color: #555555; +} +.navbar { + border: none; +} +.navbar ul.nav > li > a { + text-transform: uppercase; + text-decoration: underline; + font-weight: bold; + letter-spacing: 0.08em; + border-top: solid 5px transparent; +} +.navbar ul.nav > li > a:hover { + border-top: solid 5px #467fbf; +} +.navbar ul.nav > li.active > a, +.navbar ul.nav > li.open > a { + text-decoration: none !important; + border-top: solid 5px #294d76; +} +@media (max-width: 768px) { + .navbar ul.nav > li.active > a, + .navbar ul.nav > li.open > a { + border-top-color: transparent; + } + .navbar ul.nav > li > a:hover { + border-top-color: transparent; + } +} +.navbar.navbar-light ul.nav > li.active > a { + border-top: solid 5px #294d76; + background: #fff !important; + color: #555555 !important; +} +.navbar.navbar-light ul.nav > li.active > a:hover { + border-top: solid 5px #294d76; +} +.navbar.navbar-light ul.nav > li > a:hover, +.navbar.navbar-light ul.nav > li.open > a:hover, +.navbar.navbar-light ul.nav > li > a:focus, +.navbar.navbar-light ul.nav > li.open > a:focus { + border-top: solid 5px #467fbf; + background: #fff !important; + color: #555555 !important; +} +.navbar ul.dropdown-menu { + margin: 0; + padding: 0; +} +.navbar ul.dropdown-menu li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 4px 0; +} +.navbar ul.dropdown-menu li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + left: 0; +} +.navbar ul.dropdown-menu li a:hover { + color: #467fbf; + text-decoration: none; + background: none; + left: 2px; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .navbar ul.dropdown-menu li a:hover { + left: 0; + } +} +.navbar .yamm-content h3 { + font-size: 18px; + text-transform: uppercase; + padding-bottom: 10px; + margin-top: 5px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +@media (max-width: 767px) { + .navbar .yamm-content h3 { + font-size: 14px; + } +} +.navbar .yamm-content h5 { + text-transform: uppercase; + padding-bottom: 10px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +.navbar .yamm-content ul { + margin: 0; + padding: 0; +} +.navbar .yamm-content ul li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + padding: 4px 0; +} +.navbar .yamm-content ul li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.navbar .yamm-content ul li a:hover { + color: #467fbf; + text-decoration: none; + padding-left: 2px; +} +.navbar .yamm-content .banner { + margin-bottom: 10px; +} +.navbar .yamm-fw .dropdown-menu { + padding: 0; +} +.navbar .navbar-buttons { + float: right; +} +.navbar .navbar-buttons button, +.navbar .navbar-buttons a.btn, +.navbar .navbar-buttons .btn-default.navbar-toggle { + margin-top: 11px; + margin-bottom: 11px; + margin-left: 0; + margin-right: 5px; +} +.navbar .btn-default, +.navbar .btn-default.navbar-toggle { + color: #999999; + background-color: #fff; + margin-left: 7px; + margin-right: 0; +} +.navbar .btn-default:hover, +.navbar .btn-default.navbar-toggle:hover, +.navbar .btn-default:focus, +.navbar .btn-default.navbar-toggle:focus { + background-color: #fff; + border-color: #467fbf; + color: #467fbf; +} +.navbar #search { + clear: both; + border-top: solid 1px #467fbf; + text-align: right; +} +.navbar #search form { + float: right; +} +.navbar #search form .input-group { + width: 500px; +} +@media (max-width: 768px) { + .navbar #search form .input-group { + width: 100%; + } +} +.navbar #basket-overview a { + margin-left: 7px; +} +.navbar-affixed-top { + top: -32px; +} +.navbar-affixed-top.affix-top { + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +.navbar-affixed-top.affix { + position: fixed; + width: 100%; + top: 0; + z-index: 1000; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +body.boxed .navbar-affixed-top.affix { + position: static; +} +#login-modal { + overflow: hidden; +} +#login-modal .modal-header h4 { + text-transform: uppercase; +} +#login-modal form { + margin-bottom: 20px; +} +#login-modal a { + color: #467fbf; +} +#login-modal p { + font-weight: 300; + margin-bottom: 20px; + font-size: 13px; +} +/* buttons */ +.btn { + font-weight: 700; + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 0; +} +.input-group .btn { + font-size: 14px; +} +.btn-lg { + padding: 10px 16px; + font-size: 14px; + line-height: 1.33; + border-radius: 0; +} +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-template-main { + color: #467fbf; + background-color: #ffffff; + border-color: #467fbf; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + color: #467fbf; + background-color: #e6e6e6; + border-color: #336194; +} +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + background-image: none; +} +.btn-template-main.disabled, +.btn-template-main[disabled], +fieldset[disabled] .btn-template-main, +.btn-template-main.disabled:hover, +.btn-template-main[disabled]:hover, +fieldset[disabled] .btn-template-main:hover, +.btn-template-main.disabled:focus, +.btn-template-main[disabled]:focus, +fieldset[disabled] .btn-template-main:focus, +.btn-template-main.disabled:active, +.btn-template-main[disabled]:active, +fieldset[disabled] .btn-template-main:active, +.btn-template-main.disabled.active, +.btn-template-main[disabled].active, +fieldset[disabled] .btn-template-main.active { + background-color: #ffffff; + border-color: #467fbf; +} +.btn-template-main .badge { + color: #ffffff; + background-color: #467fbf; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active { + background: #467fbf; + color: #ffffff; + border-color: #467fbf; +} +.btn-template-transparent-primary { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + background-image: none; +} +.btn-template-transparent-primary.disabled, +.btn-template-transparent-primary[disabled], +fieldset[disabled] .btn-template-transparent-primary, +.btn-template-transparent-primary.disabled:hover, +.btn-template-transparent-primary[disabled]:hover, +fieldset[disabled] .btn-template-transparent-primary:hover, +.btn-template-transparent-primary.disabled:focus, +.btn-template-transparent-primary[disabled]:focus, +fieldset[disabled] .btn-template-transparent-primary:focus, +.btn-template-transparent-primary.disabled:active, +.btn-template-transparent-primary[disabled]:active, +fieldset[disabled] .btn-template-transparent-primary:active, +.btn-template-transparent-primary.disabled.active, +.btn-template-transparent-primary[disabled].active, +fieldset[disabled] .btn-template-transparent-primary.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active { + background: #fff; + color: #467fbf; + border-color: #fff; +} +.btn-template-transparent-black { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + background-image: none; +} +.btn-template-transparent-black.disabled, +.btn-template-transparent-black[disabled], +fieldset[disabled] .btn-template-transparent-black, +.btn-template-transparent-black.disabled:hover, +.btn-template-transparent-black[disabled]:hover, +fieldset[disabled] .btn-template-transparent-black:hover, +.btn-template-transparent-black.disabled:focus, +.btn-template-transparent-black[disabled]:focus, +fieldset[disabled] .btn-template-transparent-black:focus, +.btn-template-transparent-black.disabled:active, +.btn-template-transparent-black[disabled]:active, +fieldset[disabled] .btn-template-transparent-black:active, +.btn-template-transparent-black.disabled.active, +.btn-template-transparent-black[disabled].active, +fieldset[disabled] .btn-template-transparent-black.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active { + background: #fff; + color: #000; + border-color: #fff; +} +.btn-template-primary { + color: #ffffff; + background-color: #467fbf; + border-color: #467fbf; +} +.btn-template-primary:hover, +.btn-template-primary:focus, +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + color: #ffffff; + background-color: #36669c; + border-color: #336194; +} +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + background-image: none; +} +.btn-template-primary.disabled, +.btn-template-primary[disabled], +fieldset[disabled] .btn-template-primary, +.btn-template-primary.disabled:hover, +.btn-template-primary[disabled]:hover, +fieldset[disabled] .btn-template-primary:hover, +.btn-template-primary.disabled:focus, +.btn-template-primary[disabled]:focus, +fieldset[disabled] .btn-template-primary:focus, +.btn-template-primary.disabled:active, +.btn-template-primary[disabled]:active, +fieldset[disabled] .btn-template-primary:active, +.btn-template-primary.disabled.active, +.btn-template-primary[disabled].active, +fieldset[disabled] .btn-template-primary.active { + background-color: #467fbf; + border-color: #467fbf; +} +.btn-template-primary .badge { + color: #467fbf; + background-color: #ffffff; +} +#intro { + background: url('../img/home.jpg') no-repeat center top; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} +#intro .item { + font-family: "Roboto", Helvetica, Arial, sans-serif; + height: 100%; +} +#intro .item h1 { + text-transform: uppercase; + font-size: 50px; + color: #fff; + margin-bottom: 40px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #intro .item h1 { + font-size: 40px; + } +} +@media (max-width: 767px) { + #intro .item h1 { + font-size: 25px; + } +} +#intro .item h3 { + color: #fff; + margin-bottom: 40px; +} +@media (max-width: 767px) { + #intro .item h3 { + font-size: 15px; + margin-bottom: 20px; + } +} +#intro .item .btn { + text-transform: none; +} +@media (max-width: 991px) { + #intro .item .btn { + font-size: 14px; + } +} +@media (max-width: 991px) { + #intro .item .carousel-caption { + left: 10%; + right: 10%; + } +} +#intro .container, +#intro .row { + height: 100%; + position: relative; +} +.jumbotron { + padding: 30px; + margin-bottom: 0; + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.jumbotron .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #467fbf; + opacity: 0.9; + filter: alpha(opacity=90); +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3, +.jumbotron p, +.jumbotron ul { + color: #fff; +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3 { + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.jumbotron p { + margin-bottom: 20px; + font-size: 21px; + font-weight: 400; +} +.jumbotron p.text-uppercase { + font-weight: 700; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 0; +} +.jumbotron .container { + max-width: 100%; + z-index: 2; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 46px; + } +} +#categoryMenu h3 { + padding: 20px; + background: #f7f7f7; + margin: 0; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.panel.sidebar-menu h3 { + padding: 5px 0; + margin: 0; +} +.panel.sidebar-menu { + background: #fff; + margin: 0 0 20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.panel.sidebar-menu .panel-heading { + text-transform: uppercase; + margin-bottom: 10px; + background: none; + padding: 0; + letter-spacing: 0.08em; + border-bottom: none; +} +.panel.sidebar-menu .panel-heading h1, +.panel.sidebar-menu .panel-heading h2, +.panel.sidebar-menu .panel-heading h3, +.panel.sidebar-menu .panel-heading h4, +.panel.sidebar-menu .panel-heading h5 { + display: inline-block; + border-bottom: solid 5px #467fbf; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; +} +.panel.sidebar-menu .panel-heading .btn.btn-danger { + color: #fff; + margin-top: 5px; +} +.panel.sidebar-menu .panel-body { + padding: 0; +} +.panel.sidebar-menu .panel-body span.colour { + display: inline-block; + width: 15px; + height: 15px; + border: solid 1px #555555; + vertical-align: top; + margin-top: 2px; + margin-left: 5px; +} +.panel.sidebar-menu .panel-body span.colour.white { + background: #fff; +} +.panel.sidebar-menu .panel-body span.colour.red { + background: red; +} +.panel.sidebar-menu .panel-body span.colour.green { + background: green; +} +.panel.sidebar-menu .panel-body span.colour.blue { + background: blue; +} +.panel.sidebar-menu .panel-body span.colour.yellow { + background: yellow; +} +.panel.sidebar-menu .panel-body label { + color: #999999; + font-size: 12px; +} +.panel.sidebar-menu .panel-body label:hover { + color: #555555; +} +.panel.sidebar-menu ul.nav.category-menu { + margin-bottom: 20px; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.08em; +} +.panel.sidebar-menu ul.nav.category-menu li a { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.panel.sidebar-menu ul.nav ul { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.nav ul li { + display: block; +} +.panel.sidebar-menu ul.nav ul li a { + position: relative; + font-family: "Times New Roman", Times, serif; + font-weight: normal; + text-transform: none !important; + display: block; + padding: 10px 15px; + padding-left: 30px; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.nav ul li a:hover, +.panel.sidebar-menu ul.nav ul li a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.panel.sidebar-menu ul.tag-cloud { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.tag-cloud li { + display: inline-block; +} +.panel.sidebar-menu ul.tag-cloud li a { + display: inline-block; + padding: 5px; + border: solid 1px #eeeeee; + border-radius: 0; + color: #467fbf; + margin: 5px 5px 5px 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + font-size: 12px; + text-decoration: none; +} +.panel.sidebar-menu ul.tag-cloud li a:hover { + color: #467fbf; + border-color: #467fbf; +} +.panel.sidebar-menu ul.tag-cloud li.active a { + color: #FFFFFF; + background-color: #467fbf; +} +.panel.sidebar-menu ul.tag-cloud li.active a:hover { + color: #FFFFFF; +} +.panel.sidebar-menu ul.popular, +.panel.sidebar-menu ul.recent { + list-style: none; + padding-left: 0; + padding: 20px 0; +} +.panel.sidebar-menu ul.popular li, +.panel.sidebar-menu ul.recent li { + margin-bottom: 10px; + padding: 5px 0; + border-bottom: dotted 1px #eeeeee; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li img, +.panel.sidebar-menu ul.recent li img { + width: 50px; + margin-right: 10px; +} +.panel.sidebar-menu ul.popular li h5, +.panel.sidebar-menu ul.recent li h5 { + margin: 0 0 10px; +} +.panel.sidebar-menu ul.popular li h5 a, +.panel.sidebar-menu ul.recent li h5 a { + font-weight: normal; +} +.panel.sidebar-menu ul.popular li p.date, +.panel.sidebar-menu ul.recent li p.date { + float: right; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.popular li:last-child, +.panel.sidebar-menu ul.recent li:last-child { + border-bottom: none; +} +.panel.sidebar-menu .text-widget { + font-size: 12px; +} +.panel.sidebar-menu.with-icons ul.nav li a:after { + font-family: 'FontAwesome'; + content: "\f105"; + position: relative; + top: 0; + float: right; +} +/* ribbons for product sales etc. */ +.ribbon { + position: absolute; + top: 50px; + padding-left: 51px; + font-weight: 700; + letter-spacing: 0.08em; +} +.ribbon .ribbon-background { + position: absolute; + top: 0; + right: 0; +} +.ribbon .theribbon { + position: relative; + width: 80px; + padding: 6px 20px 6px 20px; + margin: 30px 10px 10px -71px; + color: #fff; + background-color: #467fbf; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.ribbon .theribbon:before, +.ribbon .theribbon:after { + content: ' '; + position: absolute; + width: 0; + height: 0; +} +.ribbon .theribbon:after { + left: 0px; + top: 100%; + border-width: 5px 10px; + border-style: solid; + border-color: #000000 #000000 transparent transparent; +} +.ribbon.sale { + top: 0; +} +.ribbon.new { + top: 50px; +} +.ribbon.new .theribbon { + background-color: #5bc0de; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.new .theribbon:after { + border-color: #2390b0 #2390b0 transparent transparent; +} +.ribbon.gift { + top: 100px; +} +.ribbon.gift .theribbon { + background-color: #5cb85c; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.gift .theribbon:after { + border-color: #357935 #357935 transparent transparent; +} +.owl-carousel .owl-controls .owl-page.active span, +.owl-theme .owl-controls .owl-page.active span, +.owl-carousel .owl-controls.clickable .owl-page:hover span, +.owl-theme .owl-controls.clickable .owl-page:hover span { + background: #467fbf; +} +.owl-carousel .owl-controls .owl-buttons, +.owl-theme .owl-controls .owl-buttons { + position: absolute; + top: 5px; + right: 0; +} +.owl-carousel .owl-controls .owl-buttons div, +.owl-theme .owl-controls .owl-buttons div { + width: 26px; + height: 26px; + line-height: 25px; + margin: 0 5px 0 0; + font-size: 18px; + color: #467fbf; + padding: 0; + background: #fff; + border-radius: 13px; + vertical-align: middle; + text-align: center; + opacity: 1; + filter: alpha(opacity=100); +} +.home-carousel { + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.home-carousel .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #467fbf; + opacity: 0.9; + filter: alpha(opacity=90); +} +.home-carousel .owl-carousel { + padding-top: 60px; + padding-bottom: 20px; +} +.home-carousel .owl-theme .owl-controls .owl-page span { + background: #666; +} +.home-carousel .owl-theme .owl-controls .owl-page.active span { + background: #fff; +} +.home-carousel .owl-theme .owl-controls .owl-page:hover span { + background: #fff; +} +@media (max-width: 767px) { + .home-carousel { + text-align: center !important; + } +} +@media (min-width: 992px) { + .home-carousel .right { + text-align: right; + } +} +.home-carousel h1, +.home-carousel h2, +.home-carousel h3, +.home-carousel p, +.home-carousel ul { + color: #fff; +} +.home-carousel h1 { + font-weight: 700; + text-transform: uppercase; + font-size: 46px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .home-carousel h1 { + font-size: 36px; + } +} +.home-carousel h2 { + font-weight: 700; + text-transform: uppercase; + font-size: 40px; + letter-spacing: 0.08em; +} +.home-carousel ul, +.home-carousel p { + font-size: 18px; + font-weight: 700; + padding: 0; + text-transform: uppercase; + letter-spacing: 0.10em; +} +@media (max-width: 991px) { + .home-carousel ul, + .home-carousel p { + font-size: 14px; + } +} +.home-carousel ul li { + margin-bottom: 10px; +} +.customers { + padding: 0; + margin-bottom: 40px; +} +.customers .item { + list-style-type: none; + text-align: center; + margin: 0 20px; +} +.customers .item img { + display: inline-block; + filter: url("data:image/svg+xml;utf8,#grayscale"); + /* Firefox 10+, Firefox on Android */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+, Safari 6+, Safari 6+ iOS */ + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.customers .item img:hover { + max-width: auto; + filter: none; + -webkit-filter: none; +} +.testimonials { + padding: 0; + margin-bottom: 40px; +} +.testimonials .item { + list-style-type: none; + margin: 0 5px; + background: #fff; + padding-bottom: 60px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.testimonials .item .testimonial { + position: relative; + padding: 20px; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial .text { + color: #999999; + margin-bottom: 40px; +} +.testimonials .item .testimonial .bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + height: 50px; +} +.testimonials .item .testimonial .bottom .icon { + color: #467fbf; + font-size: 30px; + float: left; + width: 20%; +} +.testimonials .item .testimonial .name-picture { + float: right; + width: 80%; + text-align: right; +} +.testimonials .item .testimonial .name-picture h5 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.testimonials .item .testimonial .name-picture p { + color: #999999; + margin: 0; + font-size: 12px; +} +.testimonials .item .testimonial .name-picture img { + float: right; + width: 60px; + border-radius: 30px; + margin-left: 10px; +} +.team-member { + text-align: center; + margin-bottom: 40px; +} +.team-member h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 5px; + letter-spacing: 0.08em; +} +.team-member h3 a { + color: #555555; +} +.team-member p.role { + color: #999999; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.team-member .social { + margin-bottom: 20px; +} +.team-member .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email { + background-color: #4a7f45; +} +.team-member .text p { + color: #999999; + font-size: 12px; +} +.team-member .social, +.team-member-detail .social { + margin-bottom: 20px; +} +.team-member .social a, +.team-member-detail .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i, +.team-member-detail .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook, +.team-member-detail .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus, +.team-member-detail .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter, +.team-member-detail .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram, +.team-member-detail .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email, +.team-member-detail .social a.email { + background-color: #4a7f45; +} +.box-simple { + text-align: center; + margin-bottom: 40px; +} +.box-simple .icon { + color: #467fbf; + border-color: #467fbf; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.box-simple h3 { + font-weight: normal; + font-size: 18px; + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-simple h3 a { + color: #555555; +} +.box-simple p { + color: #999999; +} +.box-simple:hover .icon { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.box-simple:hover .icon i { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.box-simple.box-white { + padding: 20px; + border: dotted 1px #999999; +} +.box-simple.box-white .icon { + color: #555555; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark { + padding: 20px; + border: dotted 1px #999999; + background: #555555; + color: #fff; +} +.box-simple.box-dark .icon { + color: #f7f7f7; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark h3 { + color: #fff; +} +.box-simple.box-dark h3 a { + color: #fff; +} +.box-simple.box-dark p { + color: #fff; +} +.box-image { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #467fbf; +} +.box-image .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +.box-image-text { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image-text .top { + position: relative; + margin-bottom: 10px; +} +.box-image-text .top .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #467fbf; +} +.box-image-text .top .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .top .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image-text .top .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image-text .top .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .content h3, +.box-image-text .content h4 { + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-image-text .content p { + color: #999999; +} +.box-image-text:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image-text:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image-text:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +/* universal box */ +.box { + background: #fff; + margin: 0 0 30px; + border: solid 1px #ccc; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px 0; + border-left: none; + border-right: none; +} +.box .box-header { + background: #f7f7f7; + margin: -20px 0 20px; + padding: 20px; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-footer { + background: #f7f7f7; + margin: 30px 0 -20px; + padding: 20px; + border-top: solid 1px #eeeeee; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +@media (max-width: 991px) { + .box .box-footer .btn { + margin-bottom: 20px; + } +} +.box.no-border { + border: none; +} +#heading-breadcrumbs { + background: url('../img/texture-bw.png') center center repeat; + padding: 20px 0; + margin-bottom: 40px; +} +#heading-breadcrumbs.no-mb { + margin-bottom: 0; +} +#heading-breadcrumbs h1 { + color: #333333; + text-transform: uppercase; + font-size: 30px; + font-weight: 700; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #heading-breadcrumbs h1 { + text-align: center; + } +} +#heading-breadcrumbs ul.breadcrumb { + margin-top: 5px; + margin-bottom: 0; +} +.bar { + position: relative; + background: #467fbf; + padding: 60px 0; +} +.bar.background-pentagon { + background: url('../img/texture-bw.png') center center repeat; + border-top: solid 1px #999999; + border-bottom: solid 1px #999999; +} +.bar.background-gray { + background: #eeeeee; +} +.bar.background-gray-dark { + background: #555555; +} +.bar.background-white { + background: #fff; +} +.bar.background-image-fixed-1 { + background: url('../img/fixed-background-1.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.background-image-fixed-2 { + background: url('../img/fixed-background-2.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.color-white h1, +.bar.color-white h2, +.bar.color-white h3, +.bar.color-white h4, +.bar.color-white h5, +.bar.color-white h6, +.bar.color-white p { + color: #fff; +} +.bar.padding-big { + padding: 50px 0; +} +.bar.padding-horizontal { + padding-left: 30px; + padding-right: 30px; +} +.bar.margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.bar .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0.3; + filter: alpha(opacity=30); +} +.portfolio.no-space { + padding: 0 15px; +} +.portfolio.no-space .box-image { + margin: 0 -15px; +} +.portfolio-project .project-more h4 { + color: #555555; + text-transform: uppercase; + margin-bottom: 0; + text-align: left; + font-size: 14px; + letter-spacing: 0.08em; +} +.portfolio-project .project-more p { + color: #999999; + padding: 10px 0; + margin-bottom: 20px; + text-align: left; +} +.portfolio-showcase { + margin: 15px 0 60px; +} +.portfolio-showcase h3 a { + text-transform: uppercase; + line-height: 1.5; + letter-spacing: 0.08em; +} +.portfolio-showcase p.lead { + color: #555555; + margin-bottom: 20px; +} +.portfolio-showcase p { + color: #999999; +} +.portfolio-showcase p.buttons { + margin-top: 40px; +} +.see-more { + text-align: center; + margin-top: 20px; + padding-top: 20px; +} +.see-more p { + font-size: 28px; + font-weight: 100; + margin-bottom: 20px; +} +.showcase .item { + text-align: center; +} +.showcase .item .icon { + display: inline-block; + width: 50px; + height: 50px; + color: #555555; + line-height: 50px; + border-radius: 25px; + border: solid 1px #555555; +} +.showcase .item h4 { + color: #555555; + text-transform: uppercase; + letter-spacing: 0.08em; + line-height: 1.5; + font-size: 16px; +} +.showcase .item h4 span { + font-weight: bold; + font-size: 51px; +} +.packages .package { + background: #fff; + margin-top: 25px; + margin-bottom: 20px; + padding-bottom: 15px; + text-align: center; + border: solid 1px #467fbf; + overflow: hidden; +} +.packages .package .package-header { + height: 57px; + color: #fff; + line-height: 57px; + background: #467fbf; +} +.packages .package .package-header h5 { + color: #fff; + text-transform: uppercase; + font-weight: bold; + line-height: 57px; + margin: 0; + letter-spacing: 0.08em; +} +.packages .package .package-header.light-gray { + background: #eeeeee; +} +.packages .package .package-header.light-gray h5 { + color: #555555; +} +.packages .package .price { + line-height: 120px; + height: 100px; + color: #fff; + font-weight: 400; +} +.packages .package .price h4 { + display: inline; + font-size: 50px; + line-height: normal; + margin-bottom: 0; +} +.packages .package .price .period { + line-height: normal; + color: #999999; +} +.packages .package ul { + padding: 0; +} +.packages .package ul li { + list-style-type: none; + padding-top: 10px; + padding-bottom: 10px; + width: 80%; + margin: auto; + border-bottom: 1px dotted #ccc; +} +.packages .package ul li:last-child { + border-bottom: 0; +} +.packages .package ul li i { + font-size: 13px; + margin-right: 5px; +} +.packages .best-value .package { + margin-top: 0; + padding-bottom: 40px; +} +.packages .best-value .package .package-header { + height: 72px; + padding-top: 17px; + height: 82px !important; +} +.packages .best-value .package .package-header h5 { + font-weight: bold; + line-height: 29px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.packages .best-value .package .package-header .meta-text { + font-size: 13px; + line-height: 15px; +} +#map { + height: 300px; +} +#map.with-border { + border-top: solid 1px #467fbf; + border-bottom: solid 1px #467fbf; +} +#blog-listing-big .post, +#blog-homepage .post { + margin-bottom: 60px; +} +#blog-listing-big .post h2, +#blog-homepage .post h2, +#blog-listing-big .post h4, +#blog-homepage .post h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#blog-listing-big .post h2 a, +#blog-homepage .post h2 a, +#blog-listing-big .post h4 a, +#blog-homepage .post h4 a { + color: #555555; +} +#blog-listing-big .post h2 a:hover, +#blog-homepage .post h2 a:hover, +#blog-listing-big .post h4 a:hover, +#blog-homepage .post h4 a:hover { + color: #467fbf; +} +#blog-listing-big .post .author-category, +#blog-homepage .post .author-category { + color: #999999; + text-transform: uppercase; + font-weight: 300; + letter-spacing: 0.08em; +} +#blog-listing-big .post .author-category a, +#blog-homepage .post .author-category a { + font-weight: 500; +} +#blog-listing-big .post .date-comments a, +#blog-homepage .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-big .post .date-comments a:hover, +#blog-homepage .post .date-comments a:hover { + color: #467fbf; +} +@media (min-width: 768px) { + #blog-listing-big .post .date-comments, + #blog-homepage .post .date-comments { + text-align: right; + } +} +#blog-listing-big .post .intro, +#blog-homepage .post .intro { + text-align: left; +} +#blog-listing-big .post .image, +#blog-homepage .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-big .post .image img, +#blog-homepage .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-big .post .image img.img-responsive, + #blog-homepage .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-big .post .video, +#blog-homepage .post .video { + margin-bottom: 10px; +} +#blog-listing-big .post .read-more, +#blog-homepage .post .read-more { + text-align: right; +} +#blog-listing-medium .post { + margin-bottom: 60px; +} +#blog-listing-medium .post h2 { + text-transform: uppercase; + margin: 0 0 10px; + font-size: 24px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post h2 a { + color: #555555; +} +#blog-listing-medium .post h2 a:hover { + color: #467fbf; +} +#blog-listing-medium .post .author-category { + float: left; + color: #999999; + text-transform: uppercase; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post .author-category a { + font-weight: 500; +} +#blog-listing-medium .post .date-comments { + float: right; + font-size: 12px; +} +#blog-listing-medium .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-medium .post .date-comments a:hover { + color: #467fbf; +} +@media (min-width: 768px) { + #blog-listing-medium .post .date-comments { + text-align: right; + } +} +#blog-listing-medium .post .intro { + text-align: left; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-medium .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-medium .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-medium .post .video { + margin-bottom: 10px; +} +#blog-listing-medium .post .read-more { + text-align: right; +} +.box-image-text.blog .author-category { + color: #999999; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 300; + font-size: 12px; +} +.box-image-text.blog .author-category a { + font-weight: 500; +} +.box-image-text.blog .intro { + text-align: left; + margin-bottom: 20px; +} +#blog-homepage .post { + margin-bottom: 30px; +} +#blog-homepage .post h2, +#blog-homepage .post h4, +#blog-homepage .post .author-category, +#blog-homepage .post .read-more { + text-align: center; +} +#blog-homepage .post .read-more { + margin-top: 20px; +} +#blog-post #post-content { + margin-bottom: 20px; +} +#blog-post .comment { + margin-bottom: 25px; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment .posted { + color: #999999; + font-size: 12px; +} +#blog-post .comment .reply { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#blog-post .comment.last { + margin-bottom: 0; +} +#blog-post #comments, +#blog-post #comment-form { + padding: 20px 0; + margin-top: 20px; + border-top: solid 1px #eeeeee; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments h4, +#blog-post #comment-form h4 { + margin-bottom: 20px; +} +#blog-post #comment-form { + margin-bottom: 20px; +} +.product { + background: #fff; + border-bottom: solid 1px #e6e6e6; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 60px; + overflow: hidden; + text-align: center; +} +.product .image { + overflow: hidden; +} +.product .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .product .image img.img-responsive { + min-width: 100%; + } +} +.product .text { + padding: 10px; +} +.product .text h3 { + font-size: 14px; + font-weight: 700; + height: 39.6px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.product .text h3 a { + color: #555555; +} +.product .text h3 a:hover { + text-decoration: none; +} +.product .text p.price { + font-size: 18px; +} +.product .text p.price del { + color: #999999; +} +.product .buttons { + clear: both; + position: absolute; + display: none; + bottom: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: solid 1px transparent; + padding: 20px; + background: rgba(255, 255, 255, 0.9); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + text-align: center; +} +.product .buttons .btn { + margin-bottom: 20px; +} +.product:hover { + border-bottom: solid 1px #808080; + top: 0; +} +.product:hover .buttons { + clear: both; + position: absolute; + top: 0; + background: rgba(255, 255, 255, 0.5); +} +.product:hover .image img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.goToDescription { + font-size: 12px; + text-align: center; + margin-bottom: 40px; +} +.goToDescription a { + color: #999999; + text-decoration: underline; +} +#productMain { + margin-bottom: 30px; +} +#productMain .sizes { + text-align: center; +} +#productMain .sizes h3 { + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 40px; +} +#productMain .sizes a { + display: inline-block; + width: 40px; + height: 40px; + border-radius: 40px; + background: #ccc; + line-height: 40px; + color: #555555; + text-align: center; + text-decoration: none; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#productMain .sizes a.active, +#productMain .sizes a:hover { + background: #467fbf; + color: #fff; +} +#productMain .sizes input { + display: none; +} +#productMain .price { + font-size: 40px; + text-align: center; + margin-top: 40px; + margin-bottom: 40px; +} +#thumbs a { + display: block; + border: solid 1px transparent; +} +#thumbs a.active { + border-color: #467fbf; +} +#product-social { + text-align: center; +} +#product-social h4 { + font-weight: 300; + margin-bottom: 10px; +} +#product-social p { + line-height: 26px; +} +#product-social p a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +#product-social p a i { + vertical-align: bottom; + line-height: 26px; +} +#product-social p a.facebook { + background-color: #4460ae; +} +#product-social p a.gplus { + background-color: #c21f25; +} +#product-social p a.twitter { + background-color: #3cf; +} +#product-social p a.instagram { + background-color: #cd4378; +} +#product-social p a.email { + background-color: #4a7f45; +} +@media (max-width: 991px) { + #product-social { + text-align: center; + } +} +#checkout .nav { + margin-bottom: 20px; + border-bottom: solid 1px #467fbf; +} +#checkout .nav li { + height: 100%; +} +#checkout .nav li a { + display: block; + height: 100%; +} +#order-summary table { + margin-top: 20px; +} +#order-summary table td { + color: #999999; +} +#order-summary table tr.total td, +#order-summary table tr.total th { + font-size: 18px; + color: #555555; + font-weight: 700; +} +#checkout .table tbody tr td, +#basket .table tbody tr td, +#customer-order .table tbody tr td { + vertical-align: middle; +} +#checkout .table tbody tr td input, +#basket .table tbody tr td input, +#customer-order .table tbody tr td input { + width: 50px; + text-align: right; +} +#checkout .table tbody tr td img, +#basket .table tbody tr td img, +#customer-order .table tbody tr td img { + width: 50px; +} +#checkout .table tfoot, +#basket .table tfoot, +#customer-order .table tfoot { + font-size: 18px; +} +.shipping-method h4, +.payment-method h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#customer-orders table tr th, +#customer-orders table tr td { + vertical-align: baseline; +} +#customer-order .table tfoot th { + font-size: 18px; + font-weight: 300; +} +#customer-order .addresses { + text-align: right; + margin-bottom: 30px; +} +#customer-order .addresses p { + font-size: 18px; + font-weight: 300; +} +#customer-account { + margin-bottom: 30px; +} +#get-it { + background: #467fbf; + padding: 50px 0 30px; + color: #fff; + text-align: center; +} +#get-it h1, +#get-it h2, +#get-it h3, +#get-it h4, +#get-it h5, +#get-it h6 { + color: #fff; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 0 0 20px; +} +#get-it p { + margin: 0 0 20px; +} +#footer { + background: #555555; + padding: 50px 0; + color: #999999; +} +#footer h1, +#footer h2, +#footer h3, +#footer h4, +#footer h5, +#footer h6 { + color: #eeeeee; +} +#footer h4 { + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} +#footer ul { + padding-left: 0; + list-style: none; +} +#footer ul a { + color: #999999; +} +#footer ul a:hover { + color: #467fbf; + text-decoration: none; +} +#footer .photostream div { + float: left; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 33%; + padding: 7.5px; + overflow: hidden; +} +#footer .photostream div a { + border: solid 1 px #eeeeee; +} +#footer .photostream div img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#footer .photostream div:hover img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +#footer .blog-entries .item { + clear: both; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: solid 1px #555555; +} +#footer .blog-entries .item .image { + float: left; + width: 15%; + margin-right: 10px; +} +#footer .blog-entries .item .name { + width: 75%; + margin-left: 10px; + display: table-cell; + vertical-align: middle; +} +#footer .blog-entries .item .name h5 { + margin: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 12px; +} +#footer .blog-entries .item .name h5 a { + color: #eeeeee; +} +#footer .blog-entries .item .text { + width: 100%; + clear: both; +} +#footer .blog-entries .item:last-child { + border-bottom: none; + margin-bottom: 0; +} +#footer .social a { + color: #555555; + font-size: 25px; + margin: 0 10px 0 0; +} +#footer .social a:hover { + color: #467fbf; +} +#copyright { + background: #333; + color: #ccc; + padding: 50px 0; + font-size: 12px; + line-height: 28px; +} +#copyright p { + margin: 0; +} +@media (max-width: 991px) { + #copyright p { + float: none !important; + text-align: center; + margin-bottom: 10px; + } +} +[data-animate] { + opacity: 0; + filter: alpha(opacity=0); +} +#style-switch-button { + position: fixed; + top: 100px; + left: 0px; + border-radius: 0; +} +#style-switch { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 300px; + padding: 20px; + position: fixed; + top: 140px; + left: 0; + background: #fff; + border: solid 1px #eeeeee; +} +@media (max-width: 991px) { + #style-switch-button { + display: none; + } + #style-switch { + display: none; + } +} +/* Original Boostrap template overwrite */ +/* breadcrumbs */ +.breadcrumb { + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + background-color: none; + letter-spacing: 0.08em; +} +/* nav */ +.nav > li > a { + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #467fbf; +} +.nav-tabs { + border-bottom: 1px solid #467fbf; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #467fbf; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #467fbf; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: solid 1px #467fbf; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #467fbf; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #467fbf; + border-radius: 0 0 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 0; +} +.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: #ffffff; + background-color: #467fbf; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; + border-bottom: solid 1px #467fbf; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #467fbf; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #467fbf; + border-radius: 0 0 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content { + padding: 15px; + border: solid 1px #ddd; + border-top: none; +} +/* navbar */ +.navbar { + position: relative; + min-height: 62px; + margin-bottom: 0; + border-bottom: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; +} +.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-affixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-affixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@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: 10px 15px; + font-size: 18px; + line-height: 20px; + height: 62px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@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: 14px; + margin-bottom: 14px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-nav { + margin: 10.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .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: 20px; + } + .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: 21px; + padding-bottom: 21px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 14px; + margin-bottom: 14px; +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.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 { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-btn.btn-sm { + margin-top: 16px; + margin-bottom: 16px; +} +.navbar-btn.btn-xs { + margin-top: 20px; + margin-bottom: 20px; +} +.navbar-text { + margin-top: 21px; + margin-bottom: 21px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: #cccccc; + border-bottom: none; +} +.navbar-default .navbar-brand { + color: #555555; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #3b3b3b; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #555555; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #555555; + background-color: #92b3d9; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #467fbf; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #467fbf; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #cccccc; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #467fbf; + color: #ffffff; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #555555; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #467fbf; + } + .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: #ffffff; + background-color: #467fbf; + } + .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: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #555555; +} +.navbar-default .navbar-link:hover { + color: #555555; +} +.navbar-default .btn-link { + color: #555555; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #555555; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +/* scaffolding */ +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +a { + color: #467fbf; + text-decoration: none; +} +a:hover, +a:focus { + color: #2f5a89; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.img-rounded { + border-radius: 0; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +/* breadcrumbs */ +.breadcrumb { + padding: 20px 0; + margin-bottom: 20px; + background-color: transparent; + border-radius: 0; + text-align: right; +} +.breadcrumb > li + li:before { + content: ">\00a0"; + color: #555555; +} +.breadcrumb > .active { + color: #999999; +} +@media (max-width: 991px) { + .breadcrumb { + padding: 20px 0; + text-align: center; + } +} +/* dropdowns */ +.dropdown-menu { + z-index: 1000; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + padding: 5px 20px; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +/* labels */ +.label { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: normal; + text-transform: uppercase; + letter-spacing: 0.08em; +} +/* forms.less */ +label { + font-weight: normal; +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; +} +.form-control:focus { + border-color: #467fbf; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(70, 127, 191, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(70, 127, 191, 0.6); +} +.form-group { + margin-bottom: 20px; +} +/* pager*/ +.pager { + margin: 20px 0; + border-top: solid 1px #eeeeee; + padding-top: 20px; + text-transform: uppercase; + letter-spacing: 0.08em; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + background-color: #ffffff; + border: 1px solid #467fbf; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + color: #fff; + background-color: #467fbf; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: #ddd; +} +/* pagination */ +.pagination { + margin: 20px 0; + font-family: "Roboto", Helvetica, Arial, sans-serif; + border-radius: 0; +} +.pagination > li > a, +.pagination > li > span { + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #467fbf; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #467fbf; + background-color: #b8cee6; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #467fbf; + border-color: #467fbf; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: #dddddd; +} +/* responsive utilities */ +@media (max-width: 767px) { + .text-center-xs { + text-align: center !important; + } + .text-center-xs img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .text-center-sm { + text-align: center !important; + } + .text-center-sm img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +/* type */ +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: 900; + line-height: 1.1; + color: #333333; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 20px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 18px; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +.text-small { + font-size: 12px; +} +.text-large { + font-size: 18px; +} +.text-italic { + font-style: italic; +} +.text-primary { + color: #467fbf; +} +a.text-primary:hover { + color: #36669c; +} +.bg-primary { + color: #fff; + background-color: #467fbf; +} +a.bg-primary:hover { + background-color: #36669c; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 1px dotted #999999; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 14px; + border-left: 5px solid #467fbf; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + border-right: 5px solid #467fbf; +} +address { + margin-bottom: 20px; + line-height: 1.42857143; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 0 0; + box-shadow: 0 0 0; +} +.panel-heading { + border-top-right-radius: 0; + border-top-left-radius: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 15px 15px; +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group.accordion .panel { + border-color: #ccc; +} +.panel-primary { + border-color: #467fbf; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #467fbf; + border-color: #467fbf; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #467fbf; +} +.panel-primary > .panel-heading .badge { + color: #467fbf; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #467fbf; +} +.panel-primary .panel-title { + font-weight: 300; +} +.panel-primary .panel-title a:hover { + color: #fff; + text-decoration: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #467fbf; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.progress-bar-primary { + background-color: #467fbf; +} +.progress-striped .progress-bar-primary { + 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); +} +/*! + * Yamm!3 - Yet another megamenu for Bootstrap 3 + * http://geedmo.github.com/yamm3 + * + * @geedmo - Licensed under the MIT license + */ +.yamm .nav, +.yamm .collapse, +.yamm .dropup.use-yamm, +.yamm .dropdown.use-yamm { + position: static; +} +.yamm .container { + position: relative; +} +.yamm .dropdown-menu { + left: auto; +} +.yamm .nav.navbar-right .dropdown-menu { + left: auto; + right: 0; +} +.yamm .yamm-content { + padding: 20px 30px; +} +.yamm .dropdown.yamm-fw .dropdown-menu { + left: 15px; + right: 15px; +} diff --git a/public/css/style.default.css b/public/css/style.default.css new file mode 100644 index 0000000..0c72d1b --- /dev/null +++ b/public/css/style.default.css @@ -0,0 +1,3566 @@ +.clearfix:before, +.clearfix:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; +} +.clearfix:after, +.navbar:after, +.navbar-header: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; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* general styles */ +a, +button { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +a i[class^="fa"], +button i[class^="fa"] { + margin: 0 5px; +} +.clickable { + cursor: pointer !important; +} +.required { + color: #38a7bb; +} +.accent { + color: #38a7bb; +} +.text-uppercase { + text-transform: uppercase; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .text-center-sm { + text-align: center; + } +} +p.lead { + margin-bottom: 40px; +} +section, +div.section { + margin-bottom: 40px; +} +.no-mb { + margin-bottom: 0 !important; +} +.mb-small { + margin-bottom: 20px !important; +} +.heading { + margin-bottom: 40px; +} +.heading h1, +.heading h2, +.heading h3, +.heading h4, +.heading h5 { + display: inline-block; + border-bottom: solid 5px #38a7bb; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; + vertical-align: middle; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.heading h1 i[class^="fa"], +.heading h2 i[class^="fa"], +.heading h3 i[class^="fa"], +.heading h4 i[class^="fa"], +.heading h5 i[class^="fa"] { + display: inline-block; + background: #38a7bb; + width: 30px; + height: 30px; + vertical-align: middle; + text-align: center; + color: #fff; + font-size: 12px; + line-height: 30px; + border-radius: 15px; +} +.icon { + display: inline-block; + width: 80px; + height: 80px; + color: #fff; + line-height: 80px; + border-radius: 40px; + border: solid 1px #fff; + font-size: 20px; +} +.icon.icon-lg { + font-size: 30px; + border-width: 2px; +} +.ul-icons { + padding-left: 10px; +} +.ul-icons li { + list-style-type: none; + line-height: 20px; + margin-bottom: 20px; +} +.ul-icons li i { + width: 20px; + height: 20px; + background: #38a7bb; + color: #fff; + text-align: center; + border-radius: 10px; + line-height: 20px; + margin-right: 10px; +} +ul.list-style-none { + list-style: none; +} +#text-page h1, +#text-page h2, +#text-page h3 { + font-weight: 700; +} +#error-page { + text-align: center; + margin-top: 40px; + margin-bottom: 100px; +} +#error-page h4 { + margin-bottom: 40px; +} +#error-page p.buttons { + margin-top: 40px; +} +.pages-listing .item { + text-align: center; +} +.pages-listing .item h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 20px; + letter-spacing: 0.08em; +} +.pages-listing .item h3 a { + color: #555555; +} +.pages-listing .item .text { + margin-bottom: 20px; +} +.pages-listing .item .text p { + color: #999999; + font-size: 12px; + margin-bottom: 20px; +} +.banner { + margin-bottom: 30px; + text-align: center; +} +.banner img { + margin: 0 auto; +} +.banner a:hover img { + opacity: 0.8; + filter: alpha(opacity=80); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.pages { + text-align: center; +} +.pages .loadMore { + text-align: center; +} +.pages .pagination { + text-align: center; +} +.features-buttons button { + margin-bottom: 20px; +} +@media (min-width: 1300px) { + body.boxed { + background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); + } + body.boxed #all { + position: relative; + background: #fff; + width: 1200px; + margin: 0 auto; + overflow: hidden; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + } +} +#top { + background: #555555; + color: #eeeeee; + padding: 10px 0; +} +#top p { + margin: 0; + font-size: 12px; +} +#top .social { + float: right; + text-align: right; +} +#top .social a { + color: #999999; + display: inline-block; + width: 24px; + height: 24px; + border-radius: 12px; + line-height: 24px; + font-size: 12px; + text-align: center; +} +#top .social a:hover { + color: #fff; + background: #4fbfa8; + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#top .social a:hover.facebook { + background-color: #4460ae; +} +#top .social a:hover.gplus { + background-color: #c21f25; +} +#top .social a:hover.twitter { + background-color: #3cf; +} +#top .social a:hover.instagram { + background-color: #cd4378; +} +#top .social a:hover.email { + background-color: #4a7f45; +} +#top .login { + float: right; +} +#top .login a { + font-size: 12px; + color: #eeeeee; + margin-right: 15px; + text-decoration: none; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.10em; +} +@media (max-width: 767px) { + #top .login { + float: left; + } +} +#top.light { + background: #fff; + color: #999999; + border-bottom: solid 1px #eeeeee; +} +#top.light .login a { + color: #555555; +} +.navbar { + border: none; +} +.navbar ul.nav > li > a { + text-transform: uppercase; + text-decoration: underline; + font-weight: bold; + letter-spacing: 0.08em; + border-top: solid 5px transparent; +} +.navbar ul.nav > li > a:hover { + border-top: solid 5px #38a7bb; +} +.navbar ul.nav > li.active > a, +.navbar ul.nav > li.open > a { + text-decoration: none !important; + border-top: solid 5px #20616d; +} +@media (max-width: 768px) { + .navbar ul.nav > li.active > a, + .navbar ul.nav > li.open > a { + border-top-color: transparent; + } + .navbar ul.nav > li > a:hover { + border-top-color: transparent; + } +} +.navbar.navbar-light ul.nav > li.active > a { + border-top: solid 5px #20616d; + background: #fff !important; + color: #555555 !important; +} +.navbar.navbar-light ul.nav > li.active > a:hover { + border-top: solid 5px #20616d; +} +.navbar.navbar-light ul.nav > li > a:hover, +.navbar.navbar-light ul.nav > li.open > a:hover, +.navbar.navbar-light ul.nav > li > a:focus, +.navbar.navbar-light ul.nav > li.open > a:focus { + border-top: solid 5px #38a7bb; + background: #fff !important; + color: #555555 !important; +} +.navbar ul.dropdown-menu { + margin: 0; + padding: 0; +} +.navbar ul.dropdown-menu li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 4px 0; +} +.navbar ul.dropdown-menu li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + left: 0; +} +.navbar ul.dropdown-menu li a:hover { + color: #38a7bb; + text-decoration: none; + background: none; + left: 2px; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .navbar ul.dropdown-menu li a:hover { + left: 0; + } +} +.navbar .yamm-content h3 { + font-size: 18px; + text-transform: uppercase; + padding-bottom: 10px; + margin-top: 5px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +@media (max-width: 767px) { + .navbar .yamm-content h3 { + font-size: 14px; + } +} +.navbar .yamm-content h5 { + text-transform: uppercase; + padding-bottom: 10px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +.navbar .yamm-content ul { + margin: 0; + padding: 0; +} +.navbar .yamm-content ul li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + padding: 4px 0; +} +.navbar .yamm-content ul li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.navbar .yamm-content ul li a:hover { + color: #38a7bb; + text-decoration: none; + padding-left: 2px; +} +.navbar .yamm-content .banner { + margin-bottom: 10px; +} +.navbar .yamm-fw .dropdown-menu { + padding: 0; +} +.navbar .navbar-buttons { + float: right; +} +.navbar .navbar-buttons button, +.navbar .navbar-buttons a.btn, +.navbar .navbar-buttons .btn-default.navbar-toggle { + margin-top: 11px; + margin-bottom: 11px; + margin-left: 0; + margin-right: 5px; +} +.navbar .btn-default, +.navbar .btn-default.navbar-toggle { + color: #999999; + background-color: #fff; + margin-left: 7px; + margin-right: 0; +} +.navbar .btn-default:hover, +.navbar .btn-default.navbar-toggle:hover, +.navbar .btn-default:focus, +.navbar .btn-default.navbar-toggle:focus { + background-color: #fff; + border-color: #38a7bb; + color: #38a7bb; +} +.navbar #search { + clear: both; + border-top: solid 1px #38a7bb; + text-align: right; +} +.navbar #search form { + float: right; +} +.navbar #search form .input-group { + width: 500px; +} +@media (max-width: 768px) { + .navbar #search form .input-group { + width: 100%; + } +} +.navbar #basket-overview a { + margin-left: 7px; +} +.navbar-affixed-top { + top: -32px; +} +.navbar-affixed-top.affix-top { + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +.navbar-affixed-top.affix { + position: fixed; + width: 100%; + top: 0; + z-index: 1000; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +body.boxed .navbar-affixed-top.affix { + position: static; +} +#login-modal { + overflow: hidden; +} +#login-modal .modal-header h4 { + text-transform: uppercase; +} +#login-modal form { + margin-bottom: 20px; +} +#login-modal a { + color: #38a7bb; +} +#login-modal p { + font-weight: 300; + margin-bottom: 20px; + font-size: 13px; +} +/* buttons */ +.btn { + font-weight: 700; + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 0; +} +.input-group .btn { + font-size: 14px; +} +.btn-lg { + padding: 10px 16px; + font-size: 14px; + line-height: 1.33; + border-radius: 0; +} +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-template-main { + color: #38a7bb; + background-color: #ffffff; + border-color: #38a7bb; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + color: #38a7bb; + background-color: #e6e6e6; + border-color: #2a7d8c; +} +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + background-image: none; +} +.btn-template-main.disabled, +.btn-template-main[disabled], +fieldset[disabled] .btn-template-main, +.btn-template-main.disabled:hover, +.btn-template-main[disabled]:hover, +fieldset[disabled] .btn-template-main:hover, +.btn-template-main.disabled:focus, +.btn-template-main[disabled]:focus, +fieldset[disabled] .btn-template-main:focus, +.btn-template-main.disabled:active, +.btn-template-main[disabled]:active, +fieldset[disabled] .btn-template-main:active, +.btn-template-main.disabled.active, +.btn-template-main[disabled].active, +fieldset[disabled] .btn-template-main.active { + background-color: #ffffff; + border-color: #38a7bb; +} +.btn-template-main .badge { + color: #ffffff; + background-color: #38a7bb; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active { + background: #38a7bb; + color: #ffffff; + border-color: #38a7bb; +} +.btn-template-transparent-primary { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + background-image: none; +} +.btn-template-transparent-primary.disabled, +.btn-template-transparent-primary[disabled], +fieldset[disabled] .btn-template-transparent-primary, +.btn-template-transparent-primary.disabled:hover, +.btn-template-transparent-primary[disabled]:hover, +fieldset[disabled] .btn-template-transparent-primary:hover, +.btn-template-transparent-primary.disabled:focus, +.btn-template-transparent-primary[disabled]:focus, +fieldset[disabled] .btn-template-transparent-primary:focus, +.btn-template-transparent-primary.disabled:active, +.btn-template-transparent-primary[disabled]:active, +fieldset[disabled] .btn-template-transparent-primary:active, +.btn-template-transparent-primary.disabled.active, +.btn-template-transparent-primary[disabled].active, +fieldset[disabled] .btn-template-transparent-primary.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active { + background: #fff; + color: #38a7bb; + border-color: #fff; +} +.btn-template-transparent-black { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + background-image: none; +} +.btn-template-transparent-black.disabled, +.btn-template-transparent-black[disabled], +fieldset[disabled] .btn-template-transparent-black, +.btn-template-transparent-black.disabled:hover, +.btn-template-transparent-black[disabled]:hover, +fieldset[disabled] .btn-template-transparent-black:hover, +.btn-template-transparent-black.disabled:focus, +.btn-template-transparent-black[disabled]:focus, +fieldset[disabled] .btn-template-transparent-black:focus, +.btn-template-transparent-black.disabled:active, +.btn-template-transparent-black[disabled]:active, +fieldset[disabled] .btn-template-transparent-black:active, +.btn-template-transparent-black.disabled.active, +.btn-template-transparent-black[disabled].active, +fieldset[disabled] .btn-template-transparent-black.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active { + background: #fff; + color: #000; + border-color: #fff; +} +.btn-template-primary { + color: #ffffff; + background-color: #38a7bb; + border-color: #38a7bb; +} +.btn-template-primary:hover, +.btn-template-primary:focus, +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + color: #ffffff; + background-color: #2c8494; + border-color: #2a7d8c; +} +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + background-image: none; +} +.btn-template-primary.disabled, +.btn-template-primary[disabled], +fieldset[disabled] .btn-template-primary, +.btn-template-primary.disabled:hover, +.btn-template-primary[disabled]:hover, +fieldset[disabled] .btn-template-primary:hover, +.btn-template-primary.disabled:focus, +.btn-template-primary[disabled]:focus, +fieldset[disabled] .btn-template-primary:focus, +.btn-template-primary.disabled:active, +.btn-template-primary[disabled]:active, +fieldset[disabled] .btn-template-primary:active, +.btn-template-primary.disabled.active, +.btn-template-primary[disabled].active, +fieldset[disabled] .btn-template-primary.active { + background-color: #38a7bb; + border-color: #38a7bb; +} +.btn-template-primary .badge { + color: #38a7bb; + background-color: #ffffff; +} +#intro { + background: url('../img/home.jpg') no-repeat center top; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} +#intro .item { + font-family: "Roboto", Helvetica, Arial, sans-serif; + height: 100%; +} +#intro .item h1 { + text-transform: uppercase; + font-size: 50px; + color: #fff; + margin-bottom: 40px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #intro .item h1 { + font-size: 40px; + } +} +@media (max-width: 767px) { + #intro .item h1 { + font-size: 25px; + } +} +#intro .item h3 { + color: #fff; + margin-bottom: 40px; +} +@media (max-width: 767px) { + #intro .item h3 { + font-size: 15px; + margin-bottom: 20px; + } +} +#intro .item .btn { + text-transform: none; +} +@media (max-width: 991px) { + #intro .item .btn { + font-size: 14px; + } +} +@media (max-width: 991px) { + #intro .item .carousel-caption { + left: 10%; + right: 10%; + } +} +#intro .container, +#intro .row { + height: 100%; + position: relative; +} +.jumbotron { + padding: 30px; + margin-bottom: 0; + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.jumbotron .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #38a7bb; + opacity: 0.9; + filter: alpha(opacity=90); +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3, +.jumbotron p, +.jumbotron ul { + color: #fff; +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3 { + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.jumbotron p { + margin-bottom: 20px; + font-size: 21px; + font-weight: 400; +} +.jumbotron p.text-uppercase { + font-weight: 700; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 0; +} +.jumbotron .container { + max-width: 100%; + z-index: 2; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 46px; + } +} +#categoryMenu h3 { + padding: 20px; + background: #f7f7f7; + margin: 0; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.panel.sidebar-menu h3 { + padding: 5px 0; + margin: 0; +} +.panel.sidebar-menu { + background: #fff; + margin: 0 0 20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.panel.sidebar-menu .panel-heading { + text-transform: uppercase; + margin-bottom: 10px; + background: none; + padding: 0; + letter-spacing: 0.08em; + border-bottom: none; +} +.panel.sidebar-menu .panel-heading h1, +.panel.sidebar-menu .panel-heading h2, +.panel.sidebar-menu .panel-heading h3, +.panel.sidebar-menu .panel-heading h4, +.panel.sidebar-menu .panel-heading h5 { + display: inline-block; + border-bottom: solid 5px #38a7bb; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; +} +.panel.sidebar-menu .panel-heading .btn.btn-danger { + color: #fff; + margin-top: 5px; +} +.panel.sidebar-menu .panel-body { + padding: 0; +} +.panel.sidebar-menu .panel-body span.colour { + display: inline-block; + width: 15px; + height: 15px; + border: solid 1px #555555; + vertical-align: top; + margin-top: 2px; + margin-left: 5px; +} +.panel.sidebar-menu .panel-body span.colour.white { + background: #fff; +} +.panel.sidebar-menu .panel-body span.colour.red { + background: red; +} +.panel.sidebar-menu .panel-body span.colour.green { + background: green; +} +.panel.sidebar-menu .panel-body span.colour.blue { + background: blue; +} +.panel.sidebar-menu .panel-body span.colour.yellow { + background: yellow; +} +.panel.sidebar-menu .panel-body label { + color: #999999; + font-size: 12px; +} +.panel.sidebar-menu .panel-body label:hover { + color: #555555; +} +.panel.sidebar-menu ul.nav.category-menu { + margin-bottom: 20px; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.08em; +} +.panel.sidebar-menu ul.nav.category-menu li a { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.panel.sidebar-menu ul.nav ul { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.nav ul li { + display: block; +} +.panel.sidebar-menu ul.nav ul li a { + position: relative; + font-family: "Times New Roman", Times, serif; + font-weight: normal; + text-transform: none !important; + display: block; + padding: 10px 15px; + padding-left: 30px; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.nav ul li a:hover, +.panel.sidebar-menu ul.nav ul li a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.panel.sidebar-menu ul.tag-cloud { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.tag-cloud li { + display: inline-block; +} +.panel.sidebar-menu ul.tag-cloud li a { + display: inline-block; + padding: 5px; + border: solid 1px #eeeeee; + border-radius: 0; + color: #38a7bb; + margin: 5px 5px 5px 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + font-size: 12px; + text-decoration: none; +} +.panel.sidebar-menu ul.tag-cloud li a:hover { + color: #38a7bb; + border-color: #38a7bb; +} +.panel.sidebar-menu ul.tag-cloud li.active a { + color: #FFFFFF; + background-color: #38a7bb; +} +.panel.sidebar-menu ul.tag-cloud li.active a:hover { + color: #FFFFFF; +} +.panel.sidebar-menu ul.popular, +.panel.sidebar-menu ul.recent { + list-style: none; + padding-left: 0; + padding: 20px 0; +} +.panel.sidebar-menu ul.popular li, +.panel.sidebar-menu ul.recent li { + margin-bottom: 10px; + padding: 5px 0; + border-bottom: dotted 1px #eeeeee; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li img, +.panel.sidebar-menu ul.recent li img { + width: 50px; + margin-right: 10px; +} +.panel.sidebar-menu ul.popular li h5, +.panel.sidebar-menu ul.recent li h5 { + margin: 0 0 10px; +} +.panel.sidebar-menu ul.popular li h5 a, +.panel.sidebar-menu ul.recent li h5 a { + font-weight: normal; +} +.panel.sidebar-menu ul.popular li p.date, +.panel.sidebar-menu ul.recent li p.date { + float: right; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.popular li:last-child, +.panel.sidebar-menu ul.recent li:last-child { + border-bottom: none; +} +.panel.sidebar-menu .text-widget { + font-size: 12px; +} +.panel.sidebar-menu.with-icons ul.nav li a:after { + font-family: 'FontAwesome'; + content: "\f105"; + position: relative; + top: 0; + float: right; +} +/* ribbons for product sales etc. */ +.ribbon { + position: absolute; + top: 50px; + padding-left: 51px; + font-weight: 700; + letter-spacing: 0.08em; +} +.ribbon .ribbon-background { + position: absolute; + top: 0; + right: 0; +} +.ribbon .theribbon { + position: relative; + width: 80px; + padding: 6px 20px 6px 20px; + margin: 30px 10px 10px -71px; + color: #fff; + background-color: #38a7bb; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.ribbon .theribbon:before, +.ribbon .theribbon:after { + content: ' '; + position: absolute; + width: 0; + height: 0; +} +.ribbon .theribbon:after { + left: 0px; + top: 100%; + border-width: 5px 10px; + border-style: solid; + border-color: #000000 #000000 transparent transparent; +} +.ribbon.sale { + top: 0; +} +.ribbon.new { + top: 50px; +} +.ribbon.new .theribbon { + background-color: #5bc0de; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.new .theribbon:after { + border-color: #2390b0 #2390b0 transparent transparent; +} +.ribbon.gift { + top: 100px; +} +.ribbon.gift .theribbon { + background-color: #5cb85c; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.gift .theribbon:after { + border-color: #357935 #357935 transparent transparent; +} +.owl-carousel .owl-controls .owl-page.active span, +.owl-theme .owl-controls .owl-page.active span, +.owl-carousel .owl-controls.clickable .owl-page:hover span, +.owl-theme .owl-controls.clickable .owl-page:hover span { + background: #38a7bb; +} +.owl-carousel .owl-controls .owl-buttons, +.owl-theme .owl-controls .owl-buttons { + position: absolute; + top: 5px; + right: 0; +} +.owl-carousel .owl-controls .owl-buttons div, +.owl-theme .owl-controls .owl-buttons div { + width: 26px; + height: 26px; + line-height: 25px; + margin: 0 5px 0 0; + font-size: 18px; + color: #38a7bb; + padding: 0; + background: #fff; + border-radius: 13px; + vertical-align: middle; + text-align: center; + opacity: 1; + filter: alpha(opacity=100); +} +.home-carousel { + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.home-carousel .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #38a7bb; + opacity: 0.9; + filter: alpha(opacity=90); +} +.home-carousel .owl-carousel { + padding-top: 60px; + padding-bottom: 20px; +} +.home-carousel .owl-theme .owl-controls .owl-page span { + background: #666; +} +.home-carousel .owl-theme .owl-controls .owl-page.active span { + background: #fff; +} +.home-carousel .owl-theme .owl-controls .owl-page:hover span { + background: #fff; +} +@media (max-width: 767px) { + .home-carousel { + text-align: center !important; + } +} +@media (min-width: 992px) { + .home-carousel .right { + text-align: right; + } +} +.home-carousel h1, +.home-carousel h2, +.home-carousel h3, +.home-carousel p, +.home-carousel ul { + color: #fff; +} +.home-carousel h1 { + font-weight: 700; + text-transform: uppercase; + font-size: 46px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .home-carousel h1 { + font-size: 36px; + } +} +.home-carousel h2 { + font-weight: 700; + text-transform: uppercase; + font-size: 40px; + letter-spacing: 0.08em; +} +.home-carousel ul, +.home-carousel p { + font-size: 18px; + font-weight: 700; + padding: 0; + text-transform: uppercase; + letter-spacing: 0.10em; +} +@media (max-width: 991px) { + .home-carousel ul, + .home-carousel p { + font-size: 14px; + } +} +.home-carousel ul li { + margin-bottom: 10px; +} +.customers { + padding: 0; + margin-bottom: 40px; +} +.customers .item { + list-style-type: none; + text-align: center; + margin: 0 20px; +} +.customers .item img { + display: inline-block; + filter: url("data:image/svg+xml;utf8,#grayscale"); + /* Firefox 10+, Firefox on Android */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+, Safari 6+, Safari 6+ iOS */ + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.customers .item img:hover { + max-width: auto; + filter: none; + -webkit-filter: none; +} +.testimonials { + padding: 0; + margin-bottom: 40px; +} +.testimonials .item { + list-style-type: none; + margin: 0 5px; + background: #fff; + padding-bottom: 60px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.testimonials .item .testimonial { + position: relative; + padding: 20px; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial .text { + color: #999999; + margin-bottom: 40px; +} +.testimonials .item .testimonial .bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + height: 50px; +} +.testimonials .item .testimonial .bottom .icon { + color: #38a7bb; + font-size: 30px; + float: left; + width: 20%; +} +.testimonials .item .testimonial .name-picture { + float: right; + width: 80%; + text-align: right; +} +.testimonials .item .testimonial .name-picture h5 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.testimonials .item .testimonial .name-picture p { + color: #999999; + margin: 0; + font-size: 12px; +} +.testimonials .item .testimonial .name-picture img { + float: right; + width: 60px; + border-radius: 30px; + margin-left: 10px; +} +.team-member { + text-align: center; + margin-bottom: 40px; +} +.team-member h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 5px; + letter-spacing: 0.08em; +} +.team-member h3 a { + color: #555555; +} +.team-member p.role { + color: #999999; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.team-member .social { + margin-bottom: 20px; +} +.team-member .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email { + background-color: #4a7f45; +} +.team-member .text p { + color: #999999; + font-size: 12px; +} +.team-member .social, +.team-member-detail .social { + margin-bottom: 20px; +} +.team-member .social a, +.team-member-detail .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i, +.team-member-detail .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook, +.team-member-detail .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus, +.team-member-detail .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter, +.team-member-detail .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram, +.team-member-detail .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email, +.team-member-detail .social a.email { + background-color: #4a7f45; +} +.box-simple { + text-align: center; + margin-bottom: 40px; +} +.box-simple .icon { + color: #38a7bb; + border-color: #38a7bb; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.box-simple h3 { + font-weight: normal; + font-size: 18px; + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-simple h3 a { + color: #555555; +} +.box-simple p { + color: #999999; +} +.box-simple:hover .icon { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.box-simple:hover .icon i { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.box-simple.box-white { + padding: 20px; + border: dotted 1px #999999; +} +.box-simple.box-white .icon { + color: #555555; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark { + padding: 20px; + border: dotted 1px #999999; + background: #555555; + color: #fff; +} +.box-simple.box-dark .icon { + color: #f7f7f7; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark h3 { + color: #fff; +} +.box-simple.box-dark h3 a { + color: #fff; +} +.box-simple.box-dark p { + color: #fff; +} +.box-image { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #38a7bb; +} +.box-image .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +.box-image-text { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image-text .top { + position: relative; + margin-bottom: 10px; +} +.box-image-text .top .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #38a7bb; +} +.box-image-text .top .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .top .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image-text .top .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image-text .top .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .content h3, +.box-image-text .content h4 { + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-image-text .content p { + color: #999999; +} +.box-image-text:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image-text:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image-text:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +/* universal box */ +.box { + background: #fff; + margin: 0 0 30px; + border: solid 1px #ccc; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px 0; + border-left: none; + border-right: none; +} +.box .box-header { + background: #f7f7f7; + margin: -20px 0 20px; + padding: 20px; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-footer { + background: #f7f7f7; + margin: 30px 0 -20px; + padding: 20px; + border-top: solid 1px #eeeeee; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +@media (max-width: 991px) { + .box .box-footer .btn { + margin-bottom: 20px; + } +} +.box.no-border { + border: none; +} +#heading-breadcrumbs { + background: url('../img/texture-bw.png') center center repeat; + padding: 20px 0; + margin-bottom: 40px; +} +#heading-breadcrumbs.no-mb { + margin-bottom: 0; +} +#heading-breadcrumbs h1 { + color: #333333; + text-transform: uppercase; + font-size: 30px; + font-weight: 700; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #heading-breadcrumbs h1 { + text-align: center; + } +} +#heading-breadcrumbs ul.breadcrumb { + margin-top: 5px; + margin-bottom: 0; +} +.bar { + position: relative; + background: #38a7bb; + padding: 60px 0; +} +.bar.background-pentagon { + background: url('../img/texture-bw.png') center center repeat; + border-top: solid 1px #999999; + border-bottom: solid 1px #999999; +} +.bar.background-gray { + background: #eeeeee; +} +.bar.background-gray-dark { + background: #555555; +} +.bar.background-white { + background: #fff; +} +.bar.background-image-fixed-1 { + background: url('../img/fixed-background-1.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.background-image-fixed-2 { + background: url('../img/fixed-background-2.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.color-white h1, +.bar.color-white h2, +.bar.color-white h3, +.bar.color-white h4, +.bar.color-white h5, +.bar.color-white h6, +.bar.color-white p { + color: #fff; +} +.bar.padding-big { + padding: 50px 0; +} +.bar.padding-horizontal { + padding-left: 30px; + padding-right: 30px; +} +.bar.margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.bar .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0.3; + filter: alpha(opacity=30); +} +.portfolio.no-space { + padding: 0 15px; +} +.portfolio.no-space .box-image { + margin: 0 -15px; +} +.portfolio-project .project-more h4 { + color: #555555; + text-transform: uppercase; + margin-bottom: 0; + text-align: left; + font-size: 14px; + letter-spacing: 0.08em; +} +.portfolio-project .project-more p { + color: #999999; + padding: 10px 0; + margin-bottom: 20px; + text-align: left; +} +.portfolio-showcase { + margin: 15px 0 60px; +} +.portfolio-showcase h3 a { + text-transform: uppercase; + line-height: 1.5; + letter-spacing: 0.08em; +} +.portfolio-showcase p.lead { + color: #555555; + margin-bottom: 20px; +} +.portfolio-showcase p { + color: #999999; +} +.portfolio-showcase p.buttons { + margin-top: 40px; +} +.see-more { + text-align: center; + margin-top: 20px; + padding-top: 20px; +} +.see-more p { + font-size: 28px; + font-weight: 100; + margin-bottom: 20px; +} +.showcase .item { + text-align: center; +} +.showcase .item .icon { + display: inline-block; + width: 50px; + height: 50px; + color: #555555; + line-height: 50px; + border-radius: 25px; + border: solid 1px #555555; +} +.showcase .item h4 { + color: #555555; + text-transform: uppercase; + letter-spacing: 0.08em; + line-height: 1.5; + font-size: 16px; +} +.showcase .item h4 span { + font-weight: bold; + font-size: 51px; +} +.packages .package { + background: #fff; + margin-top: 25px; + margin-bottom: 20px; + padding-bottom: 15px; + text-align: center; + border: solid 1px #38a7bb; + overflow: hidden; +} +.packages .package .package-header { + height: 57px; + color: #fff; + line-height: 57px; + background: #38a7bb; +} +.packages .package .package-header h5 { + color: #fff; + text-transform: uppercase; + font-weight: bold; + line-height: 57px; + margin: 0; + letter-spacing: 0.08em; +} +.packages .package .package-header.light-gray { + background: #eeeeee; +} +.packages .package .package-header.light-gray h5 { + color: #555555; +} +.packages .package .price { + line-height: 120px; + height: 100px; + color: #fff; + font-weight: 400; +} +.packages .package .price h4 { + display: inline; + font-size: 50px; + line-height: normal; + margin-bottom: 0; +} +.packages .package .price .period { + line-height: normal; + color: #999999; +} +.packages .package ul { + padding: 0; +} +.packages .package ul li { + list-style-type: none; + padding-top: 10px; + padding-bottom: 10px; + width: 80%; + margin: auto; + border-bottom: 1px dotted #ccc; +} +.packages .package ul li:last-child { + border-bottom: 0; +} +.packages .package ul li i { + font-size: 13px; + margin-right: 5px; +} +.packages .best-value .package { + margin-top: 0; + padding-bottom: 40px; +} +.packages .best-value .package .package-header { + height: 72px; + padding-top: 17px; + height: 82px !important; +} +.packages .best-value .package .package-header h5 { + font-weight: bold; + line-height: 29px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.packages .best-value .package .package-header .meta-text { + font-size: 13px; + line-height: 15px; +} +#map { + height: 300px; +} +#map.with-border { + border-top: solid 1px #38a7bb; + border-bottom: solid 1px #38a7bb; +} +#blog-listing-big .post, +#blog-homepage .post { + margin-bottom: 60px; +} +#blog-listing-big .post h2, +#blog-homepage .post h2, +#blog-listing-big .post h4, +#blog-homepage .post h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#blog-listing-big .post h2 a, +#blog-homepage .post h2 a, +#blog-listing-big .post h4 a, +#blog-homepage .post h4 a { + color: #555555; +} +#blog-listing-big .post h2 a:hover, +#blog-homepage .post h2 a:hover, +#blog-listing-big .post h4 a:hover, +#blog-homepage .post h4 a:hover { + color: #38a7bb; +} +#blog-listing-big .post .author-category, +#blog-homepage .post .author-category { + color: #999999; + text-transform: uppercase; + font-weight: 300; + letter-spacing: 0.08em; +} +#blog-listing-big .post .author-category a, +#blog-homepage .post .author-category a { + font-weight: 500; +} +#blog-listing-big .post .date-comments a, +#blog-homepage .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-big .post .date-comments a:hover, +#blog-homepage .post .date-comments a:hover { + color: #38a7bb; +} +@media (min-width: 768px) { + #blog-listing-big .post .date-comments, + #blog-homepage .post .date-comments { + text-align: right; + } +} +#blog-listing-big .post .intro, +#blog-homepage .post .intro { + text-align: left; +} +#blog-listing-big .post .image, +#blog-homepage .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-big .post .image img, +#blog-homepage .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-big .post .image img.img-responsive, + #blog-homepage .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-big .post .video, +#blog-homepage .post .video { + margin-bottom: 10px; +} +#blog-listing-big .post .read-more, +#blog-homepage .post .read-more { + text-align: right; +} +#blog-listing-medium .post { + margin-bottom: 60px; +} +#blog-listing-medium .post h2 { + text-transform: uppercase; + margin: 0 0 10px; + font-size: 24px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post h2 a { + color: #555555; +} +#blog-listing-medium .post h2 a:hover { + color: #38a7bb; +} +#blog-listing-medium .post .author-category { + float: left; + color: #999999; + text-transform: uppercase; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post .author-category a { + font-weight: 500; +} +#blog-listing-medium .post .date-comments { + float: right; + font-size: 12px; +} +#blog-listing-medium .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-medium .post .date-comments a:hover { + color: #38a7bb; +} +@media (min-width: 768px) { + #blog-listing-medium .post .date-comments { + text-align: right; + } +} +#blog-listing-medium .post .intro { + text-align: left; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-medium .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-medium .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-medium .post .video { + margin-bottom: 10px; +} +#blog-listing-medium .post .read-more { + text-align: right; +} +.box-image-text.blog .author-category { + color: #999999; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 300; + font-size: 12px; +} +.box-image-text.blog .author-category a { + font-weight: 500; +} +.box-image-text.blog .intro { + text-align: left; + margin-bottom: 20px; +} +#blog-homepage .post { + margin-bottom: 30px; +} +#blog-homepage .post h2, +#blog-homepage .post h4, +#blog-homepage .post .author-category, +#blog-homepage .post .read-more { + text-align: center; +} +#blog-homepage .post .read-more { + margin-top: 20px; +} +#blog-post #post-content { + margin-bottom: 20px; +} +#blog-post .comment { + margin-bottom: 25px; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment .posted { + color: #999999; + font-size: 12px; +} +#blog-post .comment .reply { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#blog-post .comment.last { + margin-bottom: 0; +} +#blog-post #comments, +#blog-post #comment-form { + padding: 20px 0; + margin-top: 20px; + border-top: solid 1px #eeeeee; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments h4, +#blog-post #comment-form h4 { + margin-bottom: 20px; +} +#blog-post #comment-form { + margin-bottom: 20px; +} +.product { + background: #fff; + border-bottom: solid 1px #e6e6e6; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 60px; + overflow: hidden; + text-align: center; +} +.product .image { + overflow: hidden; +} +.product .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .product .image img.img-responsive { + min-width: 100%; + } +} +.product .text { + padding: 10px; +} +.product .text h3 { + font-size: 14px; + font-weight: 700; + height: 39.6px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.product .text h3 a { + color: #555555; +} +.product .text h3 a:hover { + text-decoration: none; +} +.product .text p.price { + font-size: 18px; +} +.product .text p.price del { + color: #999999; +} +.product .buttons { + clear: both; + position: absolute; + display: none; + bottom: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: solid 1px transparent; + padding: 20px; + background: rgba(255, 255, 255, 0.9); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + text-align: center; +} +.product .buttons .btn { + margin-bottom: 20px; +} +.product:hover { + border-bottom: solid 1px #808080; + top: 0; +} +.product:hover .buttons { + clear: both; + position: absolute; + top: 0; + background: rgba(255, 255, 255, 0.5); +} +.product:hover .image img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.goToDescription { + font-size: 12px; + text-align: center; + margin-bottom: 40px; +} +.goToDescription a { + color: #999999; + text-decoration: underline; +} +#productMain { + margin-bottom: 30px; +} +#productMain .sizes { + text-align: center; +} +#productMain .sizes h3 { + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 40px; +} +#productMain .sizes a { + display: inline-block; + width: 40px; + height: 40px; + border-radius: 40px; + background: #ccc; + line-height: 40px; + color: #555555; + text-align: center; + text-decoration: none; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#productMain .sizes a.active, +#productMain .sizes a:hover { + background: #38a7bb; + color: #fff; +} +#productMain .sizes input { + display: none; +} +#productMain .price { + font-size: 40px; + text-align: center; + margin-top: 40px; + margin-bottom: 40px; +} +#thumbs a { + display: block; + border: solid 1px transparent; +} +#thumbs a.active { + border-color: #38a7bb; +} +#product-social { + text-align: center; +} +#product-social h4 { + font-weight: 300; + margin-bottom: 10px; +} +#product-social p { + line-height: 26px; +} +#product-social p a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +#product-social p a i { + vertical-align: bottom; + line-height: 26px; +} +#product-social p a.facebook { + background-color: #4460ae; +} +#product-social p a.gplus { + background-color: #c21f25; +} +#product-social p a.twitter { + background-color: #3cf; +} +#product-social p a.instagram { + background-color: #cd4378; +} +#product-social p a.email { + background-color: #4a7f45; +} +@media (max-width: 991px) { + #product-social { + text-align: center; + } +} +#checkout .nav { + margin-bottom: 20px; + border-bottom: solid 1px #38a7bb; +} +#checkout .nav li { + height: 100%; +} +#checkout .nav li a { + display: block; + height: 100%; +} +#order-summary table { + margin-top: 20px; +} +#order-summary table td { + color: #999999; +} +#order-summary table tr.total td, +#order-summary table tr.total th { + font-size: 18px; + color: #555555; + font-weight: 700; +} +#checkout .table tbody tr td, +#basket .table tbody tr td, +#customer-order .table tbody tr td { + vertical-align: middle; +} +#checkout .table tbody tr td input, +#basket .table tbody tr td input, +#customer-order .table tbody tr td input { + width: 50px; + text-align: right; +} +#checkout .table tbody tr td img, +#basket .table tbody tr td img, +#customer-order .table tbody tr td img { + width: 50px; +} +#checkout .table tfoot, +#basket .table tfoot, +#customer-order .table tfoot { + font-size: 18px; +} +.shipping-method h4, +.payment-method h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#customer-orders table tr th, +#customer-orders table tr td { + vertical-align: baseline; +} +#customer-order .table tfoot th { + font-size: 18px; + font-weight: 300; +} +#customer-order .addresses { + text-align: right; + margin-bottom: 30px; +} +#customer-order .addresses p { + font-size: 18px; + font-weight: 300; +} +#customer-account { + margin-bottom: 30px; +} +#get-it { + background: #38a7bb; + padding: 50px 0 30px; + color: #fff; + text-align: center; +} +#get-it h1, +#get-it h2, +#get-it h3, +#get-it h4, +#get-it h5, +#get-it h6 { + color: #fff; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 0 0 20px; +} +#get-it p { + margin: 0 0 20px; +} +#footer { + background: #555555; + padding: 50px 0; + color: #999999; +} +#footer h1, +#footer h2, +#footer h3, +#footer h4, +#footer h5, +#footer h6 { + color: #eeeeee; +} +#footer h4 { + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} +#footer ul { + padding-left: 0; + list-style: none; +} +#footer ul a { + color: #999999; +} +#footer ul a:hover { + color: #38a7bb; + text-decoration: none; +} +#footer .photostream div { + float: left; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 33%; + padding: 7.5px; + overflow: hidden; +} +#footer .photostream div a { + border: solid 1 px #eeeeee; +} +#footer .photostream div img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#footer .photostream div:hover img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +#footer .blog-entries .item { + clear: both; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: solid 1px #555555; +} +#footer .blog-entries .item .image { + float: left; + width: 15%; + margin-right: 10px; +} +#footer .blog-entries .item .name { + width: 75%; + margin-left: 10px; + display: table-cell; + vertical-align: middle; +} +#footer .blog-entries .item .name h5 { + margin: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 12px; +} +#footer .blog-entries .item .name h5 a { + color: #eeeeee; +} +#footer .blog-entries .item .text { + width: 100%; + clear: both; +} +#footer .blog-entries .item:last-child { + border-bottom: none; + margin-bottom: 0; +} +#footer .social a { + color: #555555; + font-size: 25px; + margin: 0 10px 0 0; +} +#footer .social a:hover { + color: #38a7bb; +} +#copyright { + background: #333; + color: #ccc; + padding: 50px 0; + font-size: 12px; + line-height: 28px; +} +#copyright p { + margin: 0; +} +@media (max-width: 991px) { + #copyright p { + float: none !important; + text-align: center; + margin-bottom: 10px; + } +} +[data-animate] { + opacity: 0; + filter: alpha(opacity=0); +} +#style-switch-button { + position: fixed; + top: 100px; + left: 0px; + border-radius: 0; +} +#style-switch { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 300px; + padding: 20px; + position: fixed; + top: 140px; + left: 0; + background: #fff; + border: solid 1px #eeeeee; +} +@media (max-width: 991px) { + #style-switch-button { + display: none; + } + #style-switch { + display: none; + } +} +/* Original Boostrap template overwrite */ +/* breadcrumbs */ +.breadcrumb { + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + background-color: none; + letter-spacing: 0.08em; +} +/* nav */ +.nav > li > a { + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #38a7bb; +} +.nav-tabs { + border-bottom: 1px solid #38a7bb; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #38a7bb; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #38a7bb; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: solid 1px #38a7bb; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #38a7bb; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #38a7bb; + border-radius: 0 0 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 0; +} +.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: #ffffff; + background-color: #38a7bb; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; + border-bottom: solid 1px #38a7bb; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #38a7bb; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #38a7bb; + border-radius: 0 0 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content { + padding: 15px; + border: solid 1px #ddd; + border-top: none; +} +/* navbar */ +.navbar { + position: relative; + min-height: 62px; + margin-bottom: 0; + border-bottom: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; +} +.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-affixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-affixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@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: 10px 15px; + font-size: 18px; + line-height: 20px; + height: 62px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@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: 14px; + margin-bottom: 14px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-nav { + margin: 10.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .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: 20px; + } + .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: 21px; + padding-bottom: 21px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 14px; + margin-bottom: 14px; +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.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 { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-btn.btn-sm { + margin-top: 16px; + margin-bottom: 16px; +} +.navbar-btn.btn-xs { + margin-top: 20px; + margin-bottom: 20px; +} +.navbar-text { + margin-top: 21px; + margin-bottom: 21px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: #cccccc; + border-bottom: none; +} +.navbar-default .navbar-brand { + color: #555555; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #3b3b3b; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #555555; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #555555; + background-color: #80cbd9; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #38a7bb; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #38a7bb; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #cccccc; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #38a7bb; + color: #ffffff; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #555555; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #38a7bb; + } + .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: #ffffff; + background-color: #38a7bb; + } + .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: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #555555; +} +.navbar-default .navbar-link:hover { + color: #555555; +} +.navbar-default .btn-link { + color: #555555; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #555555; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +/* scaffolding */ +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +a { + color: #38a7bb; + text-decoration: none; +} +a:hover, +a:focus { + color: #267280; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.img-rounded { + border-radius: 0; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +/* breadcrumbs */ +.breadcrumb { + padding: 20px 0; + margin-bottom: 20px; + background-color: transparent; + border-radius: 0; + text-align: right; +} +.breadcrumb > li + li:before { + content: ">\00a0"; + color: #555555; +} +.breadcrumb > .active { + color: #999999; +} +@media (max-width: 991px) { + .breadcrumb { + padding: 20px 0; + text-align: center; + } +} +/* dropdowns */ +.dropdown-menu { + z-index: 1000; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + padding: 5px 20px; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +/* labels */ +.label { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: normal; + text-transform: uppercase; + letter-spacing: 0.08em; +} +/* forms.less */ +label { + font-weight: normal; +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; +} +.form-control:focus { + border-color: #38a7bb; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(56, 167, 187, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(56, 167, 187, 0.6); +} +.form-group { + margin-bottom: 20px; +} +/* pager*/ +.pager { + margin: 20px 0; + border-top: solid 1px #eeeeee; + padding-top: 20px; + text-transform: uppercase; + letter-spacing: 0.08em; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + background-color: #ffffff; + border: 1px solid #38a7bb; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + color: #fff; + background-color: #38a7bb; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: #ddd; +} +/* pagination */ +.pagination { + margin: 20px 0; + font-family: "Roboto", Helvetica, Arial, sans-serif; + border-radius: 0; +} +.pagination > li > a, +.pagination > li > span { + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #38a7bb; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #38a7bb; + background-color: #a7dbe5; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #38a7bb; + border-color: #38a7bb; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: #dddddd; +} +/* responsive utilities */ +@media (max-width: 767px) { + .text-center-xs { + text-align: center !important; + } + .text-center-xs img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .text-center-sm { + text-align: center !important; + } + .text-center-sm img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +/* type */ +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: 900; + line-height: 1.1; + color: #333333; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 20px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 18px; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +.text-small { + font-size: 12px; +} +.text-large { + font-size: 18px; +} +.text-italic { + font-style: italic; +} +.text-primary { + color: #38a7bb; +} +a.text-primary:hover { + color: #2c8494; +} +.bg-primary { + color: #fff; + background-color: #38a7bb; +} +a.bg-primary:hover { + background-color: #2c8494; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 1px dotted #999999; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 14px; + border-left: 5px solid #38a7bb; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + border-right: 5px solid #38a7bb; +} +address { + margin-bottom: 20px; + line-height: 1.42857143; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 0 0; + box-shadow: 0 0 0; +} +.panel-heading { + border-top-right-radius: 0; + border-top-left-radius: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 15px 15px; +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group.accordion .panel { + border-color: #ccc; +} +.panel-primary { + border-color: #38a7bb; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #38a7bb; + border-color: #38a7bb; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #38a7bb; +} +.panel-primary > .panel-heading .badge { + color: #38a7bb; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #38a7bb; +} +.panel-primary .panel-title { + font-weight: 300; +} +.panel-primary .panel-title a:hover { + color: #fff; + text-decoration: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #38a7bb; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.progress-bar-primary { + background-color: #38a7bb; +} +.progress-striped .progress-bar-primary { + 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); +} +/*! + * Yamm!3 - Yet another megamenu for Bootstrap 3 + * http://geedmo.github.com/yamm3 + * + * @geedmo - Licensed under the MIT license + */ +.yamm .nav, +.yamm .collapse, +.yamm .dropup.use-yamm, +.yamm .dropdown.use-yamm { + position: static; +} +.yamm .container { + position: relative; +} +.yamm .dropdown-menu { + left: auto; +} +.yamm .nav.navbar-right .dropdown-menu { + left: auto; + right: 0; +} +.yamm .yamm-content { + padding: 20px 30px; +} +.yamm .dropdown.yamm-fw .dropdown-menu { + left: 15px; + right: 15px; +} diff --git a/public/css/style.green.css b/public/css/style.green.css new file mode 100644 index 0000000..cf1a5ee --- /dev/null +++ b/public/css/style.green.css @@ -0,0 +1,3566 @@ +.clearfix:before, +.clearfix:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; +} +.clearfix:after, +.navbar:after, +.navbar-header: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; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* general styles */ +a, +button { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +a i[class^="fa"], +button i[class^="fa"] { + margin: 0 5px; +} +.clickable { + cursor: pointer !important; +} +.required { + color: #6aae7a; +} +.accent { + color: #6aae7a; +} +.text-uppercase { + text-transform: uppercase; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .text-center-sm { + text-align: center; + } +} +p.lead { + margin-bottom: 40px; +} +section, +div.section { + margin-bottom: 40px; +} +.no-mb { + margin-bottom: 0 !important; +} +.mb-small { + margin-bottom: 20px !important; +} +.heading { + margin-bottom: 40px; +} +.heading h1, +.heading h2, +.heading h3, +.heading h4, +.heading h5 { + display: inline-block; + border-bottom: solid 5px #6aae7a; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; + vertical-align: middle; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.heading h1 i[class^="fa"], +.heading h2 i[class^="fa"], +.heading h3 i[class^="fa"], +.heading h4 i[class^="fa"], +.heading h5 i[class^="fa"] { + display: inline-block; + background: #6aae7a; + width: 30px; + height: 30px; + vertical-align: middle; + text-align: center; + color: #fff; + font-size: 12px; + line-height: 30px; + border-radius: 15px; +} +.icon { + display: inline-block; + width: 80px; + height: 80px; + color: #fff; + line-height: 80px; + border-radius: 40px; + border: solid 1px #fff; + font-size: 20px; +} +.icon.icon-lg { + font-size: 30px; + border-width: 2px; +} +.ul-icons { + padding-left: 10px; +} +.ul-icons li { + list-style-type: none; + line-height: 20px; + margin-bottom: 20px; +} +.ul-icons li i { + width: 20px; + height: 20px; + background: #6aae7a; + color: #fff; + text-align: center; + border-radius: 10px; + line-height: 20px; + margin-right: 10px; +} +ul.list-style-none { + list-style: none; +} +#text-page h1, +#text-page h2, +#text-page h3 { + font-weight: 700; +} +#error-page { + text-align: center; + margin-top: 40px; + margin-bottom: 100px; +} +#error-page h4 { + margin-bottom: 40px; +} +#error-page p.buttons { + margin-top: 40px; +} +.pages-listing .item { + text-align: center; +} +.pages-listing .item h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 20px; + letter-spacing: 0.08em; +} +.pages-listing .item h3 a { + color: #555555; +} +.pages-listing .item .text { + margin-bottom: 20px; +} +.pages-listing .item .text p { + color: #999999; + font-size: 12px; + margin-bottom: 20px; +} +.banner { + margin-bottom: 30px; + text-align: center; +} +.banner img { + margin: 0 auto; +} +.banner a:hover img { + opacity: 0.8; + filter: alpha(opacity=80); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.pages { + text-align: center; +} +.pages .loadMore { + text-align: center; +} +.pages .pagination { + text-align: center; +} +.features-buttons button { + margin-bottom: 20px; +} +@media (min-width: 1300px) { + body.boxed { + background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); + } + body.boxed #all { + position: relative; + background: #fff; + width: 1200px; + margin: 0 auto; + overflow: hidden; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + } +} +#top { + background: #555555; + color: #eeeeee; + padding: 10px 0; +} +#top p { + margin: 0; + font-size: 12px; +} +#top .social { + float: right; + text-align: right; +} +#top .social a { + color: #999999; + display: inline-block; + width: 24px; + height: 24px; + border-radius: 12px; + line-height: 24px; + font-size: 12px; + text-align: center; +} +#top .social a:hover { + color: #fff; + background: #6aae7a; + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#top .social a:hover.facebook { + background-color: #4460ae; +} +#top .social a:hover.gplus { + background-color: #c21f25; +} +#top .social a:hover.twitter { + background-color: #3cf; +} +#top .social a:hover.instagram { + background-color: #cd4378; +} +#top .social a:hover.email { + background-color: #4a7f45; +} +#top .login { + float: right; +} +#top .login a { + font-size: 12px; + color: #eeeeee; + margin-right: 15px; + text-decoration: none; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.10em; +} +@media (max-width: 767px) { + #top .login { + float: left; + } +} +#top.light { + background: #fff; + color: #999999; + border-bottom: solid 1px #eeeeee; +} +#top.light .login a { + color: #555555; +} +.navbar { + border: none; +} +.navbar ul.nav > li > a { + text-transform: uppercase; + text-decoration: underline; + font-weight: bold; + letter-spacing: 0.08em; + border-top: solid 5px transparent; +} +.navbar ul.nav > li > a:hover { + border-top: solid 5px #6aae7a; +} +.navbar ul.nav > li.active > a, +.navbar ul.nav > li.open > a { + text-decoration: none !important; + border-top: solid 5px #3f734b; +} +@media (max-width: 768px) { + .navbar ul.nav > li.active > a, + .navbar ul.nav > li.open > a { + border-top-color: transparent; + } + .navbar ul.nav > li > a:hover { + border-top-color: transparent; + } +} +.navbar.navbar-light ul.nav > li.active > a { + border-top: solid 5px #3f734b; + background: #fff !important; + color: #555555 !important; +} +.navbar.navbar-light ul.nav > li.active > a:hover { + border-top: solid 5px #3f734b; +} +.navbar.navbar-light ul.nav > li > a:hover, +.navbar.navbar-light ul.nav > li.open > a:hover, +.navbar.navbar-light ul.nav > li > a:focus, +.navbar.navbar-light ul.nav > li.open > a:focus { + border-top: solid 5px #6aae7a; + background: #fff !important; + color: #555555 !important; +} +.navbar ul.dropdown-menu { + margin: 0; + padding: 0; +} +.navbar ul.dropdown-menu li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 4px 0; +} +.navbar ul.dropdown-menu li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + left: 0; +} +.navbar ul.dropdown-menu li a:hover { + color: #6aae7a; + text-decoration: none; + background: none; + left: 2px; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .navbar ul.dropdown-menu li a:hover { + left: 0; + } +} +.navbar .yamm-content h3 { + font-size: 18px; + text-transform: uppercase; + padding-bottom: 10px; + margin-top: 5px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +@media (max-width: 767px) { + .navbar .yamm-content h3 { + font-size: 14px; + } +} +.navbar .yamm-content h5 { + text-transform: uppercase; + padding-bottom: 10px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +.navbar .yamm-content ul { + margin: 0; + padding: 0; +} +.navbar .yamm-content ul li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + padding: 4px 0; +} +.navbar .yamm-content ul li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.navbar .yamm-content ul li a:hover { + color: #6aae7a; + text-decoration: none; + padding-left: 2px; +} +.navbar .yamm-content .banner { + margin-bottom: 10px; +} +.navbar .yamm-fw .dropdown-menu { + padding: 0; +} +.navbar .navbar-buttons { + float: right; +} +.navbar .navbar-buttons button, +.navbar .navbar-buttons a.btn, +.navbar .navbar-buttons .btn-default.navbar-toggle { + margin-top: 11px; + margin-bottom: 11px; + margin-left: 0; + margin-right: 5px; +} +.navbar .btn-default, +.navbar .btn-default.navbar-toggle { + color: #999999; + background-color: #fff; + margin-left: 7px; + margin-right: 0; +} +.navbar .btn-default:hover, +.navbar .btn-default.navbar-toggle:hover, +.navbar .btn-default:focus, +.navbar .btn-default.navbar-toggle:focus { + background-color: #fff; + border-color: #6aae7a; + color: #6aae7a; +} +.navbar #search { + clear: both; + border-top: solid 1px #6aae7a; + text-align: right; +} +.navbar #search form { + float: right; +} +.navbar #search form .input-group { + width: 500px; +} +@media (max-width: 768px) { + .navbar #search form .input-group { + width: 100%; + } +} +.navbar #basket-overview a { + margin-left: 7px; +} +.navbar-affixed-top { + top: -32px; +} +.navbar-affixed-top.affix-top { + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +.navbar-affixed-top.affix { + position: fixed; + width: 100%; + top: 0; + z-index: 1000; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +body.boxed .navbar-affixed-top.affix { + position: static; +} +#login-modal { + overflow: hidden; +} +#login-modal .modal-header h4 { + text-transform: uppercase; +} +#login-modal form { + margin-bottom: 20px; +} +#login-modal a { + color: #6aae7a; +} +#login-modal p { + font-weight: 300; + margin-bottom: 20px; + font-size: 13px; +} +/* buttons */ +.btn { + font-weight: 700; + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 0; +} +.input-group .btn { + font-size: 14px; +} +.btn-lg { + padding: 10px 16px; + font-size: 14px; + line-height: 1.33; + border-radius: 0; +} +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-template-main { + color: #6aae7a; + background-color: #ffffff; + border-color: #6aae7a; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + color: #6aae7a; + background-color: #e6e6e6; + border-color: #4d8e5c; +} +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + background-image: none; +} +.btn-template-main.disabled, +.btn-template-main[disabled], +fieldset[disabled] .btn-template-main, +.btn-template-main.disabled:hover, +.btn-template-main[disabled]:hover, +fieldset[disabled] .btn-template-main:hover, +.btn-template-main.disabled:focus, +.btn-template-main[disabled]:focus, +fieldset[disabled] .btn-template-main:focus, +.btn-template-main.disabled:active, +.btn-template-main[disabled]:active, +fieldset[disabled] .btn-template-main:active, +.btn-template-main.disabled.active, +.btn-template-main[disabled].active, +fieldset[disabled] .btn-template-main.active { + background-color: #ffffff; + border-color: #6aae7a; +} +.btn-template-main .badge { + color: #ffffff; + background-color: #6aae7a; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active { + background: #6aae7a; + color: #ffffff; + border-color: #6aae7a; +} +.btn-template-transparent-primary { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + background-image: none; +} +.btn-template-transparent-primary.disabled, +.btn-template-transparent-primary[disabled], +fieldset[disabled] .btn-template-transparent-primary, +.btn-template-transparent-primary.disabled:hover, +.btn-template-transparent-primary[disabled]:hover, +fieldset[disabled] .btn-template-transparent-primary:hover, +.btn-template-transparent-primary.disabled:focus, +.btn-template-transparent-primary[disabled]:focus, +fieldset[disabled] .btn-template-transparent-primary:focus, +.btn-template-transparent-primary.disabled:active, +.btn-template-transparent-primary[disabled]:active, +fieldset[disabled] .btn-template-transparent-primary:active, +.btn-template-transparent-primary.disabled.active, +.btn-template-transparent-primary[disabled].active, +fieldset[disabled] .btn-template-transparent-primary.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active { + background: #fff; + color: #6aae7a; + border-color: #fff; +} +.btn-template-transparent-black { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + background-image: none; +} +.btn-template-transparent-black.disabled, +.btn-template-transparent-black[disabled], +fieldset[disabled] .btn-template-transparent-black, +.btn-template-transparent-black.disabled:hover, +.btn-template-transparent-black[disabled]:hover, +fieldset[disabled] .btn-template-transparent-black:hover, +.btn-template-transparent-black.disabled:focus, +.btn-template-transparent-black[disabled]:focus, +fieldset[disabled] .btn-template-transparent-black:focus, +.btn-template-transparent-black.disabled:active, +.btn-template-transparent-black[disabled]:active, +fieldset[disabled] .btn-template-transparent-black:active, +.btn-template-transparent-black.disabled.active, +.btn-template-transparent-black[disabled].active, +fieldset[disabled] .btn-template-transparent-black.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active { + background: #fff; + color: #000; + border-color: #fff; +} +.btn-template-primary { + color: #ffffff; + background-color: #6aae7a; + border-color: #6aae7a; +} +.btn-template-primary:hover, +.btn-template-primary:focus, +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + color: #ffffff; + background-color: #519461; + border-color: #4d8e5c; +} +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + background-image: none; +} +.btn-template-primary.disabled, +.btn-template-primary[disabled], +fieldset[disabled] .btn-template-primary, +.btn-template-primary.disabled:hover, +.btn-template-primary[disabled]:hover, +fieldset[disabled] .btn-template-primary:hover, +.btn-template-primary.disabled:focus, +.btn-template-primary[disabled]:focus, +fieldset[disabled] .btn-template-primary:focus, +.btn-template-primary.disabled:active, +.btn-template-primary[disabled]:active, +fieldset[disabled] .btn-template-primary:active, +.btn-template-primary.disabled.active, +.btn-template-primary[disabled].active, +fieldset[disabled] .btn-template-primary.active { + background-color: #6aae7a; + border-color: #6aae7a; +} +.btn-template-primary .badge { + color: #6aae7a; + background-color: #ffffff; +} +#intro { + background: url('../img/home.jpg') no-repeat center top; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} +#intro .item { + font-family: "Roboto", Helvetica, Arial, sans-serif; + height: 100%; +} +#intro .item h1 { + text-transform: uppercase; + font-size: 50px; + color: #fff; + margin-bottom: 40px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #intro .item h1 { + font-size: 40px; + } +} +@media (max-width: 767px) { + #intro .item h1 { + font-size: 25px; + } +} +#intro .item h3 { + color: #fff; + margin-bottom: 40px; +} +@media (max-width: 767px) { + #intro .item h3 { + font-size: 15px; + margin-bottom: 20px; + } +} +#intro .item .btn { + text-transform: none; +} +@media (max-width: 991px) { + #intro .item .btn { + font-size: 14px; + } +} +@media (max-width: 991px) { + #intro .item .carousel-caption { + left: 10%; + right: 10%; + } +} +#intro .container, +#intro .row { + height: 100%; + position: relative; +} +.jumbotron { + padding: 30px; + margin-bottom: 0; + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.jumbotron .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #6aae7a; + opacity: 0.9; + filter: alpha(opacity=90); +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3, +.jumbotron p, +.jumbotron ul { + color: #fff; +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3 { + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.jumbotron p { + margin-bottom: 20px; + font-size: 21px; + font-weight: 400; +} +.jumbotron p.text-uppercase { + font-weight: 700; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 0; +} +.jumbotron .container { + max-width: 100%; + z-index: 2; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 46px; + } +} +#categoryMenu h3 { + padding: 20px; + background: #f7f7f7; + margin: 0; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.panel.sidebar-menu h3 { + padding: 5px 0; + margin: 0; +} +.panel.sidebar-menu { + background: #fff; + margin: 0 0 20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.panel.sidebar-menu .panel-heading { + text-transform: uppercase; + margin-bottom: 10px; + background: none; + padding: 0; + letter-spacing: 0.08em; + border-bottom: none; +} +.panel.sidebar-menu .panel-heading h1, +.panel.sidebar-menu .panel-heading h2, +.panel.sidebar-menu .panel-heading h3, +.panel.sidebar-menu .panel-heading h4, +.panel.sidebar-menu .panel-heading h5 { + display: inline-block; + border-bottom: solid 5px #6aae7a; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; +} +.panel.sidebar-menu .panel-heading .btn.btn-danger { + color: #fff; + margin-top: 5px; +} +.panel.sidebar-menu .panel-body { + padding: 0; +} +.panel.sidebar-menu .panel-body span.colour { + display: inline-block; + width: 15px; + height: 15px; + border: solid 1px #555555; + vertical-align: top; + margin-top: 2px; + margin-left: 5px; +} +.panel.sidebar-menu .panel-body span.colour.white { + background: #fff; +} +.panel.sidebar-menu .panel-body span.colour.red { + background: red; +} +.panel.sidebar-menu .panel-body span.colour.green { + background: green; +} +.panel.sidebar-menu .panel-body span.colour.blue { + background: blue; +} +.panel.sidebar-menu .panel-body span.colour.yellow { + background: yellow; +} +.panel.sidebar-menu .panel-body label { + color: #999999; + font-size: 12px; +} +.panel.sidebar-menu .panel-body label:hover { + color: #555555; +} +.panel.sidebar-menu ul.nav.category-menu { + margin-bottom: 20px; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.08em; +} +.panel.sidebar-menu ul.nav.category-menu li a { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.panel.sidebar-menu ul.nav ul { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.nav ul li { + display: block; +} +.panel.sidebar-menu ul.nav ul li a { + position: relative; + font-family: "Times New Roman", Times, serif; + font-weight: normal; + text-transform: none !important; + display: block; + padding: 10px 15px; + padding-left: 30px; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.nav ul li a:hover, +.panel.sidebar-menu ul.nav ul li a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.panel.sidebar-menu ul.tag-cloud { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.tag-cloud li { + display: inline-block; +} +.panel.sidebar-menu ul.tag-cloud li a { + display: inline-block; + padding: 5px; + border: solid 1px #eeeeee; + border-radius: 0; + color: #6aae7a; + margin: 5px 5px 5px 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + font-size: 12px; + text-decoration: none; +} +.panel.sidebar-menu ul.tag-cloud li a:hover { + color: #6aae7a; + border-color: #6aae7a; +} +.panel.sidebar-menu ul.tag-cloud li.active a { + color: #FFFFFF; + background-color: #6aae7a; +} +.panel.sidebar-menu ul.tag-cloud li.active a:hover { + color: #FFFFFF; +} +.panel.sidebar-menu ul.popular, +.panel.sidebar-menu ul.recent { + list-style: none; + padding-left: 0; + padding: 20px 0; +} +.panel.sidebar-menu ul.popular li, +.panel.sidebar-menu ul.recent li { + margin-bottom: 10px; + padding: 5px 0; + border-bottom: dotted 1px #eeeeee; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li img, +.panel.sidebar-menu ul.recent li img { + width: 50px; + margin-right: 10px; +} +.panel.sidebar-menu ul.popular li h5, +.panel.sidebar-menu ul.recent li h5 { + margin: 0 0 10px; +} +.panel.sidebar-menu ul.popular li h5 a, +.panel.sidebar-menu ul.recent li h5 a { + font-weight: normal; +} +.panel.sidebar-menu ul.popular li p.date, +.panel.sidebar-menu ul.recent li p.date { + float: right; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.popular li:last-child, +.panel.sidebar-menu ul.recent li:last-child { + border-bottom: none; +} +.panel.sidebar-menu .text-widget { + font-size: 12px; +} +.panel.sidebar-menu.with-icons ul.nav li a:after { + font-family: 'FontAwesome'; + content: "\f105"; + position: relative; + top: 0; + float: right; +} +/* ribbons for product sales etc. */ +.ribbon { + position: absolute; + top: 50px; + padding-left: 51px; + font-weight: 700; + letter-spacing: 0.08em; +} +.ribbon .ribbon-background { + position: absolute; + top: 0; + right: 0; +} +.ribbon .theribbon { + position: relative; + width: 80px; + padding: 6px 20px 6px 20px; + margin: 30px 10px 10px -71px; + color: #fff; + background-color: #6aae7a; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.ribbon .theribbon:before, +.ribbon .theribbon:after { + content: ' '; + position: absolute; + width: 0; + height: 0; +} +.ribbon .theribbon:after { + left: 0px; + top: 100%; + border-width: 5px 10px; + border-style: solid; + border-color: #000000 #000000 transparent transparent; +} +.ribbon.sale { + top: 0; +} +.ribbon.new { + top: 50px; +} +.ribbon.new .theribbon { + background-color: #5bc0de; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.new .theribbon:after { + border-color: #2390b0 #2390b0 transparent transparent; +} +.ribbon.gift { + top: 100px; +} +.ribbon.gift .theribbon { + background-color: #5cb85c; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.gift .theribbon:after { + border-color: #357935 #357935 transparent transparent; +} +.owl-carousel .owl-controls .owl-page.active span, +.owl-theme .owl-controls .owl-page.active span, +.owl-carousel .owl-controls.clickable .owl-page:hover span, +.owl-theme .owl-controls.clickable .owl-page:hover span { + background: #6aae7a; +} +.owl-carousel .owl-controls .owl-buttons, +.owl-theme .owl-controls .owl-buttons { + position: absolute; + top: 5px; + right: 0; +} +.owl-carousel .owl-controls .owl-buttons div, +.owl-theme .owl-controls .owl-buttons div { + width: 26px; + height: 26px; + line-height: 25px; + margin: 0 5px 0 0; + font-size: 18px; + color: #6aae7a; + padding: 0; + background: #fff; + border-radius: 13px; + vertical-align: middle; + text-align: center; + opacity: 1; + filter: alpha(opacity=100); +} +.home-carousel { + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.home-carousel .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #6aae7a; + opacity: 0.9; + filter: alpha(opacity=90); +} +.home-carousel .owl-carousel { + padding-top: 60px; + padding-bottom: 20px; +} +.home-carousel .owl-theme .owl-controls .owl-page span { + background: #666; +} +.home-carousel .owl-theme .owl-controls .owl-page.active span { + background: #fff; +} +.home-carousel .owl-theme .owl-controls .owl-page:hover span { + background: #fff; +} +@media (max-width: 767px) { + .home-carousel { + text-align: center !important; + } +} +@media (min-width: 992px) { + .home-carousel .right { + text-align: right; + } +} +.home-carousel h1, +.home-carousel h2, +.home-carousel h3, +.home-carousel p, +.home-carousel ul { + color: #fff; +} +.home-carousel h1 { + font-weight: 700; + text-transform: uppercase; + font-size: 46px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .home-carousel h1 { + font-size: 36px; + } +} +.home-carousel h2 { + font-weight: 700; + text-transform: uppercase; + font-size: 40px; + letter-spacing: 0.08em; +} +.home-carousel ul, +.home-carousel p { + font-size: 18px; + font-weight: 700; + padding: 0; + text-transform: uppercase; + letter-spacing: 0.10em; +} +@media (max-width: 991px) { + .home-carousel ul, + .home-carousel p { + font-size: 14px; + } +} +.home-carousel ul li { + margin-bottom: 10px; +} +.customers { + padding: 0; + margin-bottom: 40px; +} +.customers .item { + list-style-type: none; + text-align: center; + margin: 0 20px; +} +.customers .item img { + display: inline-block; + filter: url("data:image/svg+xml;utf8,#grayscale"); + /* Firefox 10+, Firefox on Android */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+, Safari 6+, Safari 6+ iOS */ + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.customers .item img:hover { + max-width: auto; + filter: none; + -webkit-filter: none; +} +.testimonials { + padding: 0; + margin-bottom: 40px; +} +.testimonials .item { + list-style-type: none; + margin: 0 5px; + background: #fff; + padding-bottom: 60px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.testimonials .item .testimonial { + position: relative; + padding: 20px; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial .text { + color: #999999; + margin-bottom: 40px; +} +.testimonials .item .testimonial .bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + height: 50px; +} +.testimonials .item .testimonial .bottom .icon { + color: #6aae7a; + font-size: 30px; + float: left; + width: 20%; +} +.testimonials .item .testimonial .name-picture { + float: right; + width: 80%; + text-align: right; +} +.testimonials .item .testimonial .name-picture h5 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.testimonials .item .testimonial .name-picture p { + color: #999999; + margin: 0; + font-size: 12px; +} +.testimonials .item .testimonial .name-picture img { + float: right; + width: 60px; + border-radius: 30px; + margin-left: 10px; +} +.team-member { + text-align: center; + margin-bottom: 40px; +} +.team-member h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 5px; + letter-spacing: 0.08em; +} +.team-member h3 a { + color: #555555; +} +.team-member p.role { + color: #999999; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.team-member .social { + margin-bottom: 20px; +} +.team-member .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email { + background-color: #4a7f45; +} +.team-member .text p { + color: #999999; + font-size: 12px; +} +.team-member .social, +.team-member-detail .social { + margin-bottom: 20px; +} +.team-member .social a, +.team-member-detail .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i, +.team-member-detail .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook, +.team-member-detail .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus, +.team-member-detail .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter, +.team-member-detail .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram, +.team-member-detail .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email, +.team-member-detail .social a.email { + background-color: #4a7f45; +} +.box-simple { + text-align: center; + margin-bottom: 40px; +} +.box-simple .icon { + color: #6aae7a; + border-color: #6aae7a; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.box-simple h3 { + font-weight: normal; + font-size: 18px; + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-simple h3 a { + color: #555555; +} +.box-simple p { + color: #999999; +} +.box-simple:hover .icon { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.box-simple:hover .icon i { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.box-simple.box-white { + padding: 20px; + border: dotted 1px #999999; +} +.box-simple.box-white .icon { + color: #555555; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark { + padding: 20px; + border: dotted 1px #999999; + background: #555555; + color: #fff; +} +.box-simple.box-dark .icon { + color: #f7f7f7; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark h3 { + color: #fff; +} +.box-simple.box-dark h3 a { + color: #fff; +} +.box-simple.box-dark p { + color: #fff; +} +.box-image { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #6aae7a; +} +.box-image .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +.box-image-text { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image-text .top { + position: relative; + margin-bottom: 10px; +} +.box-image-text .top .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #6aae7a; +} +.box-image-text .top .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .top .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image-text .top .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image-text .top .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .content h3, +.box-image-text .content h4 { + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-image-text .content p { + color: #999999; +} +.box-image-text:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image-text:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image-text:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +/* universal box */ +.box { + background: #fff; + margin: 0 0 30px; + border: solid 1px #ccc; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px 0; + border-left: none; + border-right: none; +} +.box .box-header { + background: #f7f7f7; + margin: -20px 0 20px; + padding: 20px; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-footer { + background: #f7f7f7; + margin: 30px 0 -20px; + padding: 20px; + border-top: solid 1px #eeeeee; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +@media (max-width: 991px) { + .box .box-footer .btn { + margin-bottom: 20px; + } +} +.box.no-border { + border: none; +} +#heading-breadcrumbs { + background: url('../img/texture-green.png') center center repeat; + padding: 20px 0; + margin-bottom: 40px; +} +#heading-breadcrumbs.no-mb { + margin-bottom: 0; +} +#heading-breadcrumbs h1 { + color: #333333; + text-transform: uppercase; + font-size: 30px; + font-weight: 700; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #heading-breadcrumbs h1 { + text-align: center; + } +} +#heading-breadcrumbs ul.breadcrumb { + margin-top: 5px; + margin-bottom: 0; +} +.bar { + position: relative; + background: #6aae7a; + padding: 60px 0; +} +.bar.background-pentagon { + background: url('../img/texture-green.png') center center repeat; + border-top: solid 1px #999999; + border-bottom: solid 1px #999999; +} +.bar.background-gray { + background: #eeeeee; +} +.bar.background-gray-dark { + background: #555555; +} +.bar.background-white { + background: #fff; +} +.bar.background-image-fixed-1 { + background: url('../img/fixed-background-1.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.background-image-fixed-2 { + background: url('../img/fixed-background-2.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.color-white h1, +.bar.color-white h2, +.bar.color-white h3, +.bar.color-white h4, +.bar.color-white h5, +.bar.color-white h6, +.bar.color-white p { + color: #fff; +} +.bar.padding-big { + padding: 50px 0; +} +.bar.padding-horizontal { + padding-left: 30px; + padding-right: 30px; +} +.bar.margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.bar .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0.3; + filter: alpha(opacity=30); +} +.portfolio.no-space { + padding: 0 15px; +} +.portfolio.no-space .box-image { + margin: 0 -15px; +} +.portfolio-project .project-more h4 { + color: #555555; + text-transform: uppercase; + margin-bottom: 0; + text-align: left; + font-size: 14px; + letter-spacing: 0.08em; +} +.portfolio-project .project-more p { + color: #999999; + padding: 10px 0; + margin-bottom: 20px; + text-align: left; +} +.portfolio-showcase { + margin: 15px 0 60px; +} +.portfolio-showcase h3 a { + text-transform: uppercase; + line-height: 1.5; + letter-spacing: 0.08em; +} +.portfolio-showcase p.lead { + color: #555555; + margin-bottom: 20px; +} +.portfolio-showcase p { + color: #999999; +} +.portfolio-showcase p.buttons { + margin-top: 40px; +} +.see-more { + text-align: center; + margin-top: 20px; + padding-top: 20px; +} +.see-more p { + font-size: 28px; + font-weight: 100; + margin-bottom: 20px; +} +.showcase .item { + text-align: center; +} +.showcase .item .icon { + display: inline-block; + width: 50px; + height: 50px; + color: #555555; + line-height: 50px; + border-radius: 25px; + border: solid 1px #555555; +} +.showcase .item h4 { + color: #555555; + text-transform: uppercase; + letter-spacing: 0.08em; + line-height: 1.5; + font-size: 16px; +} +.showcase .item h4 span { + font-weight: bold; + font-size: 51px; +} +.packages .package { + background: #fff; + margin-top: 25px; + margin-bottom: 20px; + padding-bottom: 15px; + text-align: center; + border: solid 1px #6aae7a; + overflow: hidden; +} +.packages .package .package-header { + height: 57px; + color: #fff; + line-height: 57px; + background: #6aae7a; +} +.packages .package .package-header h5 { + color: #fff; + text-transform: uppercase; + font-weight: bold; + line-height: 57px; + margin: 0; + letter-spacing: 0.08em; +} +.packages .package .package-header.light-gray { + background: #eeeeee; +} +.packages .package .package-header.light-gray h5 { + color: #555555; +} +.packages .package .price { + line-height: 120px; + height: 100px; + color: #fff; + font-weight: 400; +} +.packages .package .price h4 { + display: inline; + font-size: 50px; + line-height: normal; + margin-bottom: 0; +} +.packages .package .price .period { + line-height: normal; + color: #999999; +} +.packages .package ul { + padding: 0; +} +.packages .package ul li { + list-style-type: none; + padding-top: 10px; + padding-bottom: 10px; + width: 80%; + margin: auto; + border-bottom: 1px dotted #ccc; +} +.packages .package ul li:last-child { + border-bottom: 0; +} +.packages .package ul li i { + font-size: 13px; + margin-right: 5px; +} +.packages .best-value .package { + margin-top: 0; + padding-bottom: 40px; +} +.packages .best-value .package .package-header { + height: 72px; + padding-top: 17px; + height: 82px !important; +} +.packages .best-value .package .package-header h5 { + font-weight: bold; + line-height: 29px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.packages .best-value .package .package-header .meta-text { + font-size: 13px; + line-height: 15px; +} +#map { + height: 300px; +} +#map.with-border { + border-top: solid 1px #6aae7a; + border-bottom: solid 1px #6aae7a; +} +#blog-listing-big .post, +#blog-homepage .post { + margin-bottom: 60px; +} +#blog-listing-big .post h2, +#blog-homepage .post h2, +#blog-listing-big .post h4, +#blog-homepage .post h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#blog-listing-big .post h2 a, +#blog-homepage .post h2 a, +#blog-listing-big .post h4 a, +#blog-homepage .post h4 a { + color: #555555; +} +#blog-listing-big .post h2 a:hover, +#blog-homepage .post h2 a:hover, +#blog-listing-big .post h4 a:hover, +#blog-homepage .post h4 a:hover { + color: #6aae7a; +} +#blog-listing-big .post .author-category, +#blog-homepage .post .author-category { + color: #999999; + text-transform: uppercase; + font-weight: 300; + letter-spacing: 0.08em; +} +#blog-listing-big .post .author-category a, +#blog-homepage .post .author-category a { + font-weight: 500; +} +#blog-listing-big .post .date-comments a, +#blog-homepage .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-big .post .date-comments a:hover, +#blog-homepage .post .date-comments a:hover { + color: #6aae7a; +} +@media (min-width: 768px) { + #blog-listing-big .post .date-comments, + #blog-homepage .post .date-comments { + text-align: right; + } +} +#blog-listing-big .post .intro, +#blog-homepage .post .intro { + text-align: left; +} +#blog-listing-big .post .image, +#blog-homepage .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-big .post .image img, +#blog-homepage .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-big .post .image img.img-responsive, + #blog-homepage .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-big .post .video, +#blog-homepage .post .video { + margin-bottom: 10px; +} +#blog-listing-big .post .read-more, +#blog-homepage .post .read-more { + text-align: right; +} +#blog-listing-medium .post { + margin-bottom: 60px; +} +#blog-listing-medium .post h2 { + text-transform: uppercase; + margin: 0 0 10px; + font-size: 24px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post h2 a { + color: #555555; +} +#blog-listing-medium .post h2 a:hover { + color: #6aae7a; +} +#blog-listing-medium .post .author-category { + float: left; + color: #999999; + text-transform: uppercase; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post .author-category a { + font-weight: 500; +} +#blog-listing-medium .post .date-comments { + float: right; + font-size: 12px; +} +#blog-listing-medium .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-medium .post .date-comments a:hover { + color: #6aae7a; +} +@media (min-width: 768px) { + #blog-listing-medium .post .date-comments { + text-align: right; + } +} +#blog-listing-medium .post .intro { + text-align: left; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-medium .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-medium .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-medium .post .video { + margin-bottom: 10px; +} +#blog-listing-medium .post .read-more { + text-align: right; +} +.box-image-text.blog .author-category { + color: #999999; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 300; + font-size: 12px; +} +.box-image-text.blog .author-category a { + font-weight: 500; +} +.box-image-text.blog .intro { + text-align: left; + margin-bottom: 20px; +} +#blog-homepage .post { + margin-bottom: 30px; +} +#blog-homepage .post h2, +#blog-homepage .post h4, +#blog-homepage .post .author-category, +#blog-homepage .post .read-more { + text-align: center; +} +#blog-homepage .post .read-more { + margin-top: 20px; +} +#blog-post #post-content { + margin-bottom: 20px; +} +#blog-post .comment { + margin-bottom: 25px; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment .posted { + color: #999999; + font-size: 12px; +} +#blog-post .comment .reply { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#blog-post .comment.last { + margin-bottom: 0; +} +#blog-post #comments, +#blog-post #comment-form { + padding: 20px 0; + margin-top: 20px; + border-top: solid 1px #eeeeee; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments h4, +#blog-post #comment-form h4 { + margin-bottom: 20px; +} +#blog-post #comment-form { + margin-bottom: 20px; +} +.product { + background: #fff; + border-bottom: solid 1px #e6e6e6; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 60px; + overflow: hidden; + text-align: center; +} +.product .image { + overflow: hidden; +} +.product .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .product .image img.img-responsive { + min-width: 100%; + } +} +.product .text { + padding: 10px; +} +.product .text h3 { + font-size: 14px; + font-weight: 700; + height: 39.6px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.product .text h3 a { + color: #555555; +} +.product .text h3 a:hover { + text-decoration: none; +} +.product .text p.price { + font-size: 18px; +} +.product .text p.price del { + color: #999999; +} +.product .buttons { + clear: both; + position: absolute; + display: none; + bottom: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: solid 1px transparent; + padding: 20px; + background: rgba(255, 255, 255, 0.9); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + text-align: center; +} +.product .buttons .btn { + margin-bottom: 20px; +} +.product:hover { + border-bottom: solid 1px #808080; + top: 0; +} +.product:hover .buttons { + clear: both; + position: absolute; + top: 0; + background: rgba(255, 255, 255, 0.5); +} +.product:hover .image img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.goToDescription { + font-size: 12px; + text-align: center; + margin-bottom: 40px; +} +.goToDescription a { + color: #999999; + text-decoration: underline; +} +#productMain { + margin-bottom: 30px; +} +#productMain .sizes { + text-align: center; +} +#productMain .sizes h3 { + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 40px; +} +#productMain .sizes a { + display: inline-block; + width: 40px; + height: 40px; + border-radius: 40px; + background: #ccc; + line-height: 40px; + color: #555555; + text-align: center; + text-decoration: none; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#productMain .sizes a.active, +#productMain .sizes a:hover { + background: #6aae7a; + color: #fff; +} +#productMain .sizes input { + display: none; +} +#productMain .price { + font-size: 40px; + text-align: center; + margin-top: 40px; + margin-bottom: 40px; +} +#thumbs a { + display: block; + border: solid 1px transparent; +} +#thumbs a.active { + border-color: #6aae7a; +} +#product-social { + text-align: center; +} +#product-social h4 { + font-weight: 300; + margin-bottom: 10px; +} +#product-social p { + line-height: 26px; +} +#product-social p a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +#product-social p a i { + vertical-align: bottom; + line-height: 26px; +} +#product-social p a.facebook { + background-color: #4460ae; +} +#product-social p a.gplus { + background-color: #c21f25; +} +#product-social p a.twitter { + background-color: #3cf; +} +#product-social p a.instagram { + background-color: #cd4378; +} +#product-social p a.email { + background-color: #4a7f45; +} +@media (max-width: 991px) { + #product-social { + text-align: center; + } +} +#checkout .nav { + margin-bottom: 20px; + border-bottom: solid 1px #6aae7a; +} +#checkout .nav li { + height: 100%; +} +#checkout .nav li a { + display: block; + height: 100%; +} +#order-summary table { + margin-top: 20px; +} +#order-summary table td { + color: #999999; +} +#order-summary table tr.total td, +#order-summary table tr.total th { + font-size: 18px; + color: #555555; + font-weight: 700; +} +#checkout .table tbody tr td, +#basket .table tbody tr td, +#customer-order .table tbody tr td { + vertical-align: middle; +} +#checkout .table tbody tr td input, +#basket .table tbody tr td input, +#customer-order .table tbody tr td input { + width: 50px; + text-align: right; +} +#checkout .table tbody tr td img, +#basket .table tbody tr td img, +#customer-order .table tbody tr td img { + width: 50px; +} +#checkout .table tfoot, +#basket .table tfoot, +#customer-order .table tfoot { + font-size: 18px; +} +.shipping-method h4, +.payment-method h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#customer-orders table tr th, +#customer-orders table tr td { + vertical-align: baseline; +} +#customer-order .table tfoot th { + font-size: 18px; + font-weight: 300; +} +#customer-order .addresses { + text-align: right; + margin-bottom: 30px; +} +#customer-order .addresses p { + font-size: 18px; + font-weight: 300; +} +#customer-account { + margin-bottom: 30px; +} +#get-it { + background: #6aae7a; + padding: 50px 0 30px; + color: #fff; + text-align: center; +} +#get-it h1, +#get-it h2, +#get-it h3, +#get-it h4, +#get-it h5, +#get-it h6 { + color: #fff; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 0 0 20px; +} +#get-it p { + margin: 0 0 20px; +} +#footer { + background: #555555; + padding: 50px 0; + color: #999999; +} +#footer h1, +#footer h2, +#footer h3, +#footer h4, +#footer h5, +#footer h6 { + color: #eeeeee; +} +#footer h4 { + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} +#footer ul { + padding-left: 0; + list-style: none; +} +#footer ul a { + color: #999999; +} +#footer ul a:hover { + color: #6aae7a; + text-decoration: none; +} +#footer .photostream div { + float: left; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 33%; + padding: 7.5px; + overflow: hidden; +} +#footer .photostream div a { + border: solid 1 px #eeeeee; +} +#footer .photostream div img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#footer .photostream div:hover img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +#footer .blog-entries .item { + clear: both; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: solid 1px #555555; +} +#footer .blog-entries .item .image { + float: left; + width: 15%; + margin-right: 10px; +} +#footer .blog-entries .item .name { + width: 75%; + margin-left: 10px; + display: table-cell; + vertical-align: middle; +} +#footer .blog-entries .item .name h5 { + margin: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 12px; +} +#footer .blog-entries .item .name h5 a { + color: #eeeeee; +} +#footer .blog-entries .item .text { + width: 100%; + clear: both; +} +#footer .blog-entries .item:last-child { + border-bottom: none; + margin-bottom: 0; +} +#footer .social a { + color: #555555; + font-size: 25px; + margin: 0 10px 0 0; +} +#footer .social a:hover { + color: #6aae7a; +} +#copyright { + background: #333; + color: #ccc; + padding: 50px 0; + font-size: 12px; + line-height: 28px; +} +#copyright p { + margin: 0; +} +@media (max-width: 991px) { + #copyright p { + float: none !important; + text-align: center; + margin-bottom: 10px; + } +} +[data-animate] { + opacity: 0; + filter: alpha(opacity=0); +} +#style-switch-button { + position: fixed; + top: 100px; + left: 0px; + border-radius: 0; +} +#style-switch { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 300px; + padding: 20px; + position: fixed; + top: 140px; + left: 0; + background: #fff; + border: solid 1px #eeeeee; +} +@media (max-width: 991px) { + #style-switch-button { + display: none; + } + #style-switch { + display: none; + } +} +/* Original Boostrap template overwrite */ +/* breadcrumbs */ +.breadcrumb { + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + background-color: none; + letter-spacing: 0.08em; +} +/* nav */ +.nav > li > a { + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #6aae7a; +} +.nav-tabs { + border-bottom: 1px solid #6aae7a; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #6aae7a; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #6aae7a; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: solid 1px #6aae7a; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #6aae7a; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #6aae7a; + border-radius: 0 0 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 0; +} +.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: #ffffff; + background-color: #6aae7a; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; + border-bottom: solid 1px #6aae7a; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #6aae7a; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #6aae7a; + border-radius: 0 0 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content { + padding: 15px; + border: solid 1px #ddd; + border-top: none; +} +/* navbar */ +.navbar { + position: relative; + min-height: 62px; + margin-bottom: 0; + border-bottom: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; +} +.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-affixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-affixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@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: 10px 15px; + font-size: 18px; + line-height: 20px; + height: 62px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@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: 14px; + margin-bottom: 14px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-nav { + margin: 10.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .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: 20px; + } + .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: 21px; + padding-bottom: 21px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 14px; + margin-bottom: 14px; +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.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 { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-btn.btn-sm { + margin-top: 16px; + margin-bottom: 16px; +} +.navbar-btn.btn-xs { + margin-top: 20px; + margin-bottom: 20px; +} +.navbar-text { + margin-top: 21px; + margin-bottom: 21px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: #cccccc; + border-bottom: none; +} +.navbar-default .navbar-brand { + color: #555555; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #3b3b3b; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #555555; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #555555; + background-color: #acd2b5; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #6aae7a; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #6aae7a; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #cccccc; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #6aae7a; + color: #ffffff; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #555555; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #6aae7a; + } + .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: #ffffff; + background-color: #6aae7a; + } + .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: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #555555; +} +.navbar-default .navbar-link:hover { + color: #555555; +} +.navbar-default .btn-link { + color: #555555; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #555555; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +/* scaffolding */ +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +a { + color: #6aae7a; + text-decoration: none; +} +a:hover, +a:focus { + color: #488456; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.img-rounded { + border-radius: 0; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +/* breadcrumbs */ +.breadcrumb { + padding: 20px 0; + margin-bottom: 20px; + background-color: transparent; + border-radius: 0; + text-align: right; +} +.breadcrumb > li + li:before { + content: ">\00a0"; + color: #555555; +} +.breadcrumb > .active { + color: #999999; +} +@media (max-width: 991px) { + .breadcrumb { + padding: 20px 0; + text-align: center; + } +} +/* dropdowns */ +.dropdown-menu { + z-index: 1000; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + padding: 5px 20px; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +/* labels */ +.label { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: normal; + text-transform: uppercase; + letter-spacing: 0.08em; +} +/* forms.less */ +label { + font-weight: normal; +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; +} +.form-control:focus { + border-color: #6aae7a; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(106, 174, 122, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(106, 174, 122, 0.6); +} +.form-group { + margin-bottom: 20px; +} +/* pager*/ +.pager { + margin: 20px 0; + border-top: solid 1px #eeeeee; + padding-top: 20px; + text-transform: uppercase; + letter-spacing: 0.08em; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + background-color: #ffffff; + border: 1px solid #6aae7a; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + color: #fff; + background-color: #6aae7a; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: #ddd; +} +/* pagination */ +.pagination { + margin: 20px 0; + font-family: "Roboto", Helvetica, Arial, sans-serif; + border-radius: 0; +} +.pagination > li > a, +.pagination > li > span { + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #6aae7a; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #6aae7a; + background-color: #cde4d2; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #6aae7a; + border-color: #6aae7a; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: #dddddd; +} +/* responsive utilities */ +@media (max-width: 767px) { + .text-center-xs { + text-align: center !important; + } + .text-center-xs img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .text-center-sm { + text-align: center !important; + } + .text-center-sm img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +/* type */ +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: 900; + line-height: 1.1; + color: #333333; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 20px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 18px; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +.text-small { + font-size: 12px; +} +.text-large { + font-size: 18px; +} +.text-italic { + font-style: italic; +} +.text-primary { + color: #6aae7a; +} +a.text-primary:hover { + color: #519461; +} +.bg-primary { + color: #fff; + background-color: #6aae7a; +} +a.bg-primary:hover { + background-color: #519461; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 1px dotted #999999; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 14px; + border-left: 5px solid #6aae7a; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + border-right: 5px solid #6aae7a; +} +address { + margin-bottom: 20px; + line-height: 1.42857143; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 0 0; + box-shadow: 0 0 0; +} +.panel-heading { + border-top-right-radius: 0; + border-top-left-radius: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 15px 15px; +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group.accordion .panel { + border-color: #ccc; +} +.panel-primary { + border-color: #6aae7a; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #6aae7a; + border-color: #6aae7a; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #6aae7a; +} +.panel-primary > .panel-heading .badge { + color: #6aae7a; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #6aae7a; +} +.panel-primary .panel-title { + font-weight: 300; +} +.panel-primary .panel-title a:hover { + color: #fff; + text-decoration: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #6aae7a; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.progress-bar-primary { + background-color: #6aae7a; +} +.progress-striped .progress-bar-primary { + 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); +} +/*! + * Yamm!3 - Yet another megamenu for Bootstrap 3 + * http://geedmo.github.com/yamm3 + * + * @geedmo - Licensed under the MIT license + */ +.yamm .nav, +.yamm .collapse, +.yamm .dropup.use-yamm, +.yamm .dropdown.use-yamm { + position: static; +} +.yamm .container { + position: relative; +} +.yamm .dropdown-menu { + left: auto; +} +.yamm .nav.navbar-right .dropdown-menu { + left: auto; + right: 0; +} +.yamm .yamm-content { + padding: 20px 30px; +} +.yamm .dropdown.yamm-fw .dropdown-menu { + left: 15px; + right: 15px; +} diff --git a/public/css/style.marsala.css b/public/css/style.marsala.css new file mode 100644 index 0000000..08af88a --- /dev/null +++ b/public/css/style.marsala.css @@ -0,0 +1,3566 @@ +.clearfix:before, +.clearfix:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; +} +.clearfix:after, +.navbar:after, +.navbar-header: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; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* general styles */ +a, +button { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +a i[class^="fa"], +button i[class^="fa"] { + margin: 0 5px; +} +.clickable { + cursor: pointer !important; +} +.required { + color: #955251; +} +.accent { + color: #955251; +} +.text-uppercase { + text-transform: uppercase; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .text-center-sm { + text-align: center; + } +} +p.lead { + margin-bottom: 40px; +} +section, +div.section { + margin-bottom: 40px; +} +.no-mb { + margin-bottom: 0 !important; +} +.mb-small { + margin-bottom: 20px !important; +} +.heading { + margin-bottom: 40px; +} +.heading h1, +.heading h2, +.heading h3, +.heading h4, +.heading h5 { + display: inline-block; + border-bottom: solid 5px #955251; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; + vertical-align: middle; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.heading h1 i[class^="fa"], +.heading h2 i[class^="fa"], +.heading h3 i[class^="fa"], +.heading h4 i[class^="fa"], +.heading h5 i[class^="fa"] { + display: inline-block; + background: #955251; + width: 30px; + height: 30px; + vertical-align: middle; + text-align: center; + color: #fff; + font-size: 12px; + line-height: 30px; + border-radius: 15px; +} +.icon { + display: inline-block; + width: 80px; + height: 80px; + color: #fff; + line-height: 80px; + border-radius: 40px; + border: solid 1px #fff; + font-size: 20px; +} +.icon.icon-lg { + font-size: 30px; + border-width: 2px; +} +.ul-icons { + padding-left: 10px; +} +.ul-icons li { + list-style-type: none; + line-height: 20px; + margin-bottom: 20px; +} +.ul-icons li i { + width: 20px; + height: 20px; + background: #955251; + color: #fff; + text-align: center; + border-radius: 10px; + line-height: 20px; + margin-right: 10px; +} +ul.list-style-none { + list-style: none; +} +#text-page h1, +#text-page h2, +#text-page h3 { + font-weight: 700; +} +#error-page { + text-align: center; + margin-top: 40px; + margin-bottom: 100px; +} +#error-page h4 { + margin-bottom: 40px; +} +#error-page p.buttons { + margin-top: 40px; +} +.pages-listing .item { + text-align: center; +} +.pages-listing .item h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 20px; + letter-spacing: 0.08em; +} +.pages-listing .item h3 a { + color: #555555; +} +.pages-listing .item .text { + margin-bottom: 20px; +} +.pages-listing .item .text p { + color: #999999; + font-size: 12px; + margin-bottom: 20px; +} +.banner { + margin-bottom: 30px; + text-align: center; +} +.banner img { + margin: 0 auto; +} +.banner a:hover img { + opacity: 0.8; + filter: alpha(opacity=80); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.pages { + text-align: center; +} +.pages .loadMore { + text-align: center; +} +.pages .pagination { + text-align: center; +} +.features-buttons button { + margin-bottom: 20px; +} +@media (min-width: 1300px) { + body.boxed { + background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); + } + body.boxed #all { + position: relative; + background: #fff; + width: 1200px; + margin: 0 auto; + overflow: hidden; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + } +} +#top { + background: #555555; + color: #eeeeee; + padding: 10px 0; +} +#top p { + margin: 0; + font-size: 12px; +} +#top .social { + float: right; + text-align: right; +} +#top .social a { + color: #999999; + display: inline-block; + width: 24px; + height: 24px; + border-radius: 12px; + line-height: 24px; + font-size: 12px; + text-align: center; +} +#top .social a:hover { + color: #fff; + background: #955251; + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#top .social a:hover.facebook { + background-color: #4460ae; +} +#top .social a:hover.gplus { + background-color: #c21f25; +} +#top .social a:hover.twitter { + background-color: #3cf; +} +#top .social a:hover.instagram { + background-color: #cd4378; +} +#top .social a:hover.email { + background-color: #4a7f45; +} +#top .login { + float: right; +} +#top .login a { + font-size: 12px; + color: #eeeeee; + margin-right: 15px; + text-decoration: none; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.10em; +} +@media (max-width: 767px) { + #top .login { + float: left; + } +} +#top.light { + background: #fff; + color: #999999; + border-bottom: solid 1px #eeeeee; +} +#top.light .login a { + color: #555555; +} +.navbar { + border: none; +} +.navbar ul.nav > li > a { + text-transform: uppercase; + text-decoration: underline; + font-weight: bold; + letter-spacing: 0.08em; + border-top: solid 5px transparent; +} +.navbar ul.nav > li > a:hover { + border-top: solid 5px #955251; +} +.navbar ul.nav > li.active > a, +.navbar ul.nav > li.open > a { + text-decoration: none !important; + border-top: solid 5px #532e2d; +} +@media (max-width: 768px) { + .navbar ul.nav > li.active > a, + .navbar ul.nav > li.open > a { + border-top-color: transparent; + } + .navbar ul.nav > li > a:hover { + border-top-color: transparent; + } +} +.navbar.navbar-light ul.nav > li.active > a { + border-top: solid 5px #532e2d; + background: #fff !important; + color: #555555 !important; +} +.navbar.navbar-light ul.nav > li.active > a:hover { + border-top: solid 5px #532e2d; +} +.navbar.navbar-light ul.nav > li > a:hover, +.navbar.navbar-light ul.nav > li.open > a:hover, +.navbar.navbar-light ul.nav > li > a:focus, +.navbar.navbar-light ul.nav > li.open > a:focus { + border-top: solid 5px #955251; + background: #fff !important; + color: #555555 !important; +} +.navbar ul.dropdown-menu { + margin: 0; + padding: 0; +} +.navbar ul.dropdown-menu li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 4px 0; +} +.navbar ul.dropdown-menu li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + left: 0; +} +.navbar ul.dropdown-menu li a:hover { + color: #955251; + text-decoration: none; + background: none; + left: 2px; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .navbar ul.dropdown-menu li a:hover { + left: 0; + } +} +.navbar .yamm-content h3 { + font-size: 18px; + text-transform: uppercase; + padding-bottom: 10px; + margin-top: 5px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +@media (max-width: 767px) { + .navbar .yamm-content h3 { + font-size: 14px; + } +} +.navbar .yamm-content h5 { + text-transform: uppercase; + padding-bottom: 10px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +.navbar .yamm-content ul { + margin: 0; + padding: 0; +} +.navbar .yamm-content ul li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + padding: 4px 0; +} +.navbar .yamm-content ul li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.navbar .yamm-content ul li a:hover { + color: #955251; + text-decoration: none; + padding-left: 2px; +} +.navbar .yamm-content .banner { + margin-bottom: 10px; +} +.navbar .yamm-fw .dropdown-menu { + padding: 0; +} +.navbar .navbar-buttons { + float: right; +} +.navbar .navbar-buttons button, +.navbar .navbar-buttons a.btn, +.navbar .navbar-buttons .btn-default.navbar-toggle { + margin-top: 11px; + margin-bottom: 11px; + margin-left: 0; + margin-right: 5px; +} +.navbar .btn-default, +.navbar .btn-default.navbar-toggle { + color: #999999; + background-color: #fff; + margin-left: 7px; + margin-right: 0; +} +.navbar .btn-default:hover, +.navbar .btn-default.navbar-toggle:hover, +.navbar .btn-default:focus, +.navbar .btn-default.navbar-toggle:focus { + background-color: #fff; + border-color: #955251; + color: #955251; +} +.navbar #search { + clear: both; + border-top: solid 1px #955251; + text-align: right; +} +.navbar #search form { + float: right; +} +.navbar #search form .input-group { + width: 500px; +} +@media (max-width: 768px) { + .navbar #search form .input-group { + width: 100%; + } +} +.navbar #basket-overview a { + margin-left: 7px; +} +.navbar-affixed-top { + top: -32px; +} +.navbar-affixed-top.affix-top { + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +.navbar-affixed-top.affix { + position: fixed; + width: 100%; + top: 0; + z-index: 1000; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +body.boxed .navbar-affixed-top.affix { + position: static; +} +#login-modal { + overflow: hidden; +} +#login-modal .modal-header h4 { + text-transform: uppercase; +} +#login-modal form { + margin-bottom: 20px; +} +#login-modal a { + color: #955251; +} +#login-modal p { + font-weight: 300; + margin-bottom: 20px; + font-size: 13px; +} +/* buttons */ +.btn { + font-weight: 700; + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 0; +} +.input-group .btn { + font-size: 14px; +} +.btn-lg { + padding: 10px 16px; + font-size: 14px; + line-height: 1.33; + border-radius: 0; +} +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-template-main { + color: #955251; + background-color: #ffffff; + border-color: #955251; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + color: #955251; + background-color: #e6e6e6; + border-color: #6d3c3b; +} +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + background-image: none; +} +.btn-template-main.disabled, +.btn-template-main[disabled], +fieldset[disabled] .btn-template-main, +.btn-template-main.disabled:hover, +.btn-template-main[disabled]:hover, +fieldset[disabled] .btn-template-main:hover, +.btn-template-main.disabled:focus, +.btn-template-main[disabled]:focus, +fieldset[disabled] .btn-template-main:focus, +.btn-template-main.disabled:active, +.btn-template-main[disabled]:active, +fieldset[disabled] .btn-template-main:active, +.btn-template-main.disabled.active, +.btn-template-main[disabled].active, +fieldset[disabled] .btn-template-main.active { + background-color: #ffffff; + border-color: #955251; +} +.btn-template-main .badge { + color: #ffffff; + background-color: #955251; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active { + background: #955251; + color: #ffffff; + border-color: #955251; +} +.btn-template-transparent-primary { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + background-image: none; +} +.btn-template-transparent-primary.disabled, +.btn-template-transparent-primary[disabled], +fieldset[disabled] .btn-template-transparent-primary, +.btn-template-transparent-primary.disabled:hover, +.btn-template-transparent-primary[disabled]:hover, +fieldset[disabled] .btn-template-transparent-primary:hover, +.btn-template-transparent-primary.disabled:focus, +.btn-template-transparent-primary[disabled]:focus, +fieldset[disabled] .btn-template-transparent-primary:focus, +.btn-template-transparent-primary.disabled:active, +.btn-template-transparent-primary[disabled]:active, +fieldset[disabled] .btn-template-transparent-primary:active, +.btn-template-transparent-primary.disabled.active, +.btn-template-transparent-primary[disabled].active, +fieldset[disabled] .btn-template-transparent-primary.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active { + background: #fff; + color: #955251; + border-color: #fff; +} +.btn-template-transparent-black { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + background-image: none; +} +.btn-template-transparent-black.disabled, +.btn-template-transparent-black[disabled], +fieldset[disabled] .btn-template-transparent-black, +.btn-template-transparent-black.disabled:hover, +.btn-template-transparent-black[disabled]:hover, +fieldset[disabled] .btn-template-transparent-black:hover, +.btn-template-transparent-black.disabled:focus, +.btn-template-transparent-black[disabled]:focus, +fieldset[disabled] .btn-template-transparent-black:focus, +.btn-template-transparent-black.disabled:active, +.btn-template-transparent-black[disabled]:active, +fieldset[disabled] .btn-template-transparent-black:active, +.btn-template-transparent-black.disabled.active, +.btn-template-transparent-black[disabled].active, +fieldset[disabled] .btn-template-transparent-black.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active { + background: #fff; + color: #000; + border-color: #fff; +} +.btn-template-primary { + color: #ffffff; + background-color: #955251; + border-color: #955251; +} +.btn-template-primary:hover, +.btn-template-primary:focus, +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + color: #ffffff; + background-color: #74403f; + border-color: #6d3c3b; +} +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + background-image: none; +} +.btn-template-primary.disabled, +.btn-template-primary[disabled], +fieldset[disabled] .btn-template-primary, +.btn-template-primary.disabled:hover, +.btn-template-primary[disabled]:hover, +fieldset[disabled] .btn-template-primary:hover, +.btn-template-primary.disabled:focus, +.btn-template-primary[disabled]:focus, +fieldset[disabled] .btn-template-primary:focus, +.btn-template-primary.disabled:active, +.btn-template-primary[disabled]:active, +fieldset[disabled] .btn-template-primary:active, +.btn-template-primary.disabled.active, +.btn-template-primary[disabled].active, +fieldset[disabled] .btn-template-primary.active { + background-color: #955251; + border-color: #955251; +} +.btn-template-primary .badge { + color: #955251; + background-color: #ffffff; +} +#intro { + background: url('../img/home.jpg') no-repeat center top; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} +#intro .item { + font-family: "Roboto", Helvetica, Arial, sans-serif; + height: 100%; +} +#intro .item h1 { + text-transform: uppercase; + font-size: 50px; + color: #fff; + margin-bottom: 40px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #intro .item h1 { + font-size: 40px; + } +} +@media (max-width: 767px) { + #intro .item h1 { + font-size: 25px; + } +} +#intro .item h3 { + color: #fff; + margin-bottom: 40px; +} +@media (max-width: 767px) { + #intro .item h3 { + font-size: 15px; + margin-bottom: 20px; + } +} +#intro .item .btn { + text-transform: none; +} +@media (max-width: 991px) { + #intro .item .btn { + font-size: 14px; + } +} +@media (max-width: 991px) { + #intro .item .carousel-caption { + left: 10%; + right: 10%; + } +} +#intro .container, +#intro .row { + height: 100%; + position: relative; +} +.jumbotron { + padding: 30px; + margin-bottom: 0; + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.jumbotron .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #955251; + opacity: 0.9; + filter: alpha(opacity=90); +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3, +.jumbotron p, +.jumbotron ul { + color: #fff; +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3 { + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.jumbotron p { + margin-bottom: 20px; + font-size: 21px; + font-weight: 400; +} +.jumbotron p.text-uppercase { + font-weight: 700; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 0; +} +.jumbotron .container { + max-width: 100%; + z-index: 2; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 46px; + } +} +#categoryMenu h3 { + padding: 20px; + background: #f7f7f7; + margin: 0; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.panel.sidebar-menu h3 { + padding: 5px 0; + margin: 0; +} +.panel.sidebar-menu { + background: #fff; + margin: 0 0 20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.panel.sidebar-menu .panel-heading { + text-transform: uppercase; + margin-bottom: 10px; + background: none; + padding: 0; + letter-spacing: 0.08em; + border-bottom: none; +} +.panel.sidebar-menu .panel-heading h1, +.panel.sidebar-menu .panel-heading h2, +.panel.sidebar-menu .panel-heading h3, +.panel.sidebar-menu .panel-heading h4, +.panel.sidebar-menu .panel-heading h5 { + display: inline-block; + border-bottom: solid 5px #955251; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; +} +.panel.sidebar-menu .panel-heading .btn.btn-danger { + color: #fff; + margin-top: 5px; +} +.panel.sidebar-menu .panel-body { + padding: 0; +} +.panel.sidebar-menu .panel-body span.colour { + display: inline-block; + width: 15px; + height: 15px; + border: solid 1px #555555; + vertical-align: top; + margin-top: 2px; + margin-left: 5px; +} +.panel.sidebar-menu .panel-body span.colour.white { + background: #fff; +} +.panel.sidebar-menu .panel-body span.colour.red { + background: red; +} +.panel.sidebar-menu .panel-body span.colour.green { + background: green; +} +.panel.sidebar-menu .panel-body span.colour.blue { + background: blue; +} +.panel.sidebar-menu .panel-body span.colour.yellow { + background: yellow; +} +.panel.sidebar-menu .panel-body label { + color: #999999; + font-size: 12px; +} +.panel.sidebar-menu .panel-body label:hover { + color: #555555; +} +.panel.sidebar-menu ul.nav.category-menu { + margin-bottom: 20px; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.08em; +} +.panel.sidebar-menu ul.nav.category-menu li a { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.panel.sidebar-menu ul.nav ul { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.nav ul li { + display: block; +} +.panel.sidebar-menu ul.nav ul li a { + position: relative; + font-family: "Times New Roman", Times, serif; + font-weight: normal; + text-transform: none !important; + display: block; + padding: 10px 15px; + padding-left: 30px; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.nav ul li a:hover, +.panel.sidebar-menu ul.nav ul li a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.panel.sidebar-menu ul.tag-cloud { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.tag-cloud li { + display: inline-block; +} +.panel.sidebar-menu ul.tag-cloud li a { + display: inline-block; + padding: 5px; + border: solid 1px #eeeeee; + border-radius: 0; + color: #955251; + margin: 5px 5px 5px 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + font-size: 12px; + text-decoration: none; +} +.panel.sidebar-menu ul.tag-cloud li a:hover { + color: #955251; + border-color: #955251; +} +.panel.sidebar-menu ul.tag-cloud li.active a { + color: #FFFFFF; + background-color: #955251; +} +.panel.sidebar-menu ul.tag-cloud li.active a:hover { + color: #FFFFFF; +} +.panel.sidebar-menu ul.popular, +.panel.sidebar-menu ul.recent { + list-style: none; + padding-left: 0; + padding: 20px 0; +} +.panel.sidebar-menu ul.popular li, +.panel.sidebar-menu ul.recent li { + margin-bottom: 10px; + padding: 5px 0; + border-bottom: dotted 1px #eeeeee; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li img, +.panel.sidebar-menu ul.recent li img { + width: 50px; + margin-right: 10px; +} +.panel.sidebar-menu ul.popular li h5, +.panel.sidebar-menu ul.recent li h5 { + margin: 0 0 10px; +} +.panel.sidebar-menu ul.popular li h5 a, +.panel.sidebar-menu ul.recent li h5 a { + font-weight: normal; +} +.panel.sidebar-menu ul.popular li p.date, +.panel.sidebar-menu ul.recent li p.date { + float: right; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.popular li:last-child, +.panel.sidebar-menu ul.recent li:last-child { + border-bottom: none; +} +.panel.sidebar-menu .text-widget { + font-size: 12px; +} +.panel.sidebar-menu.with-icons ul.nav li a:after { + font-family: 'FontAwesome'; + content: "\f105"; + position: relative; + top: 0; + float: right; +} +/* ribbons for product sales etc. */ +.ribbon { + position: absolute; + top: 50px; + padding-left: 51px; + font-weight: 700; + letter-spacing: 0.08em; +} +.ribbon .ribbon-background { + position: absolute; + top: 0; + right: 0; +} +.ribbon .theribbon { + position: relative; + width: 80px; + padding: 6px 20px 6px 20px; + margin: 30px 10px 10px -71px; + color: #fff; + background-color: #955251; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.ribbon .theribbon:before, +.ribbon .theribbon:after { + content: ' '; + position: absolute; + width: 0; + height: 0; +} +.ribbon .theribbon:after { + left: 0px; + top: 100%; + border-width: 5px 10px; + border-style: solid; + border-color: #000000 #000000 transparent transparent; +} +.ribbon.sale { + top: 0; +} +.ribbon.new { + top: 50px; +} +.ribbon.new .theribbon { + background-color: #5bc0de; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.new .theribbon:after { + border-color: #2390b0 #2390b0 transparent transparent; +} +.ribbon.gift { + top: 100px; +} +.ribbon.gift .theribbon { + background-color: #5cb85c; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.gift .theribbon:after { + border-color: #357935 #357935 transparent transparent; +} +.owl-carousel .owl-controls .owl-page.active span, +.owl-theme .owl-controls .owl-page.active span, +.owl-carousel .owl-controls.clickable .owl-page:hover span, +.owl-theme .owl-controls.clickable .owl-page:hover span { + background: #955251; +} +.owl-carousel .owl-controls .owl-buttons, +.owl-theme .owl-controls .owl-buttons { + position: absolute; + top: 5px; + right: 0; +} +.owl-carousel .owl-controls .owl-buttons div, +.owl-theme .owl-controls .owl-buttons div { + width: 26px; + height: 26px; + line-height: 25px; + margin: 0 5px 0 0; + font-size: 18px; + color: #955251; + padding: 0; + background: #fff; + border-radius: 13px; + vertical-align: middle; + text-align: center; + opacity: 1; + filter: alpha(opacity=100); +} +.home-carousel { + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.home-carousel .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #955251; + opacity: 0.9; + filter: alpha(opacity=90); +} +.home-carousel .owl-carousel { + padding-top: 60px; + padding-bottom: 20px; +} +.home-carousel .owl-theme .owl-controls .owl-page span { + background: #666; +} +.home-carousel .owl-theme .owl-controls .owl-page.active span { + background: #fff; +} +.home-carousel .owl-theme .owl-controls .owl-page:hover span { + background: #fff; +} +@media (max-width: 767px) { + .home-carousel { + text-align: center !important; + } +} +@media (min-width: 992px) { + .home-carousel .right { + text-align: right; + } +} +.home-carousel h1, +.home-carousel h2, +.home-carousel h3, +.home-carousel p, +.home-carousel ul { + color: #fff; +} +.home-carousel h1 { + font-weight: 700; + text-transform: uppercase; + font-size: 46px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .home-carousel h1 { + font-size: 36px; + } +} +.home-carousel h2 { + font-weight: 700; + text-transform: uppercase; + font-size: 40px; + letter-spacing: 0.08em; +} +.home-carousel ul, +.home-carousel p { + font-size: 18px; + font-weight: 700; + padding: 0; + text-transform: uppercase; + letter-spacing: 0.10em; +} +@media (max-width: 991px) { + .home-carousel ul, + .home-carousel p { + font-size: 14px; + } +} +.home-carousel ul li { + margin-bottom: 10px; +} +.customers { + padding: 0; + margin-bottom: 40px; +} +.customers .item { + list-style-type: none; + text-align: center; + margin: 0 20px; +} +.customers .item img { + display: inline-block; + filter: url("data:image/svg+xml;utf8,#grayscale"); + /* Firefox 10+, Firefox on Android */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+, Safari 6+, Safari 6+ iOS */ + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.customers .item img:hover { + max-width: auto; + filter: none; + -webkit-filter: none; +} +.testimonials { + padding: 0; + margin-bottom: 40px; +} +.testimonials .item { + list-style-type: none; + margin: 0 5px; + background: #fff; + padding-bottom: 60px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.testimonials .item .testimonial { + position: relative; + padding: 20px; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial .text { + color: #999999; + margin-bottom: 40px; +} +.testimonials .item .testimonial .bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + height: 50px; +} +.testimonials .item .testimonial .bottom .icon { + color: #955251; + font-size: 30px; + float: left; + width: 20%; +} +.testimonials .item .testimonial .name-picture { + float: right; + width: 80%; + text-align: right; +} +.testimonials .item .testimonial .name-picture h5 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.testimonials .item .testimonial .name-picture p { + color: #999999; + margin: 0; + font-size: 12px; +} +.testimonials .item .testimonial .name-picture img { + float: right; + width: 60px; + border-radius: 30px; + margin-left: 10px; +} +.team-member { + text-align: center; + margin-bottom: 40px; +} +.team-member h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 5px; + letter-spacing: 0.08em; +} +.team-member h3 a { + color: #555555; +} +.team-member p.role { + color: #999999; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.team-member .social { + margin-bottom: 20px; +} +.team-member .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email { + background-color: #4a7f45; +} +.team-member .text p { + color: #999999; + font-size: 12px; +} +.team-member .social, +.team-member-detail .social { + margin-bottom: 20px; +} +.team-member .social a, +.team-member-detail .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i, +.team-member-detail .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook, +.team-member-detail .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus, +.team-member-detail .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter, +.team-member-detail .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram, +.team-member-detail .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email, +.team-member-detail .social a.email { + background-color: #4a7f45; +} +.box-simple { + text-align: center; + margin-bottom: 40px; +} +.box-simple .icon { + color: #955251; + border-color: #955251; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.box-simple h3 { + font-weight: normal; + font-size: 18px; + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-simple h3 a { + color: #555555; +} +.box-simple p { + color: #999999; +} +.box-simple:hover .icon { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.box-simple:hover .icon i { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.box-simple.box-white { + padding: 20px; + border: dotted 1px #999999; +} +.box-simple.box-white .icon { + color: #555555; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark { + padding: 20px; + border: dotted 1px #999999; + background: #555555; + color: #fff; +} +.box-simple.box-dark .icon { + color: #f7f7f7; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark h3 { + color: #fff; +} +.box-simple.box-dark h3 a { + color: #fff; +} +.box-simple.box-dark p { + color: #fff; +} +.box-image { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #955251; +} +.box-image .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +.box-image-text { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image-text .top { + position: relative; + margin-bottom: 10px; +} +.box-image-text .top .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #955251; +} +.box-image-text .top .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .top .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image-text .top .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image-text .top .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .content h3, +.box-image-text .content h4 { + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-image-text .content p { + color: #999999; +} +.box-image-text:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image-text:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image-text:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +/* universal box */ +.box { + background: #fff; + margin: 0 0 30px; + border: solid 1px #ccc; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px 0; + border-left: none; + border-right: none; +} +.box .box-header { + background: #f7f7f7; + margin: -20px 0 20px; + padding: 20px; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-footer { + background: #f7f7f7; + margin: 30px 0 -20px; + padding: 20px; + border-top: solid 1px #eeeeee; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +@media (max-width: 991px) { + .box .box-footer .btn { + margin-bottom: 20px; + } +} +.box.no-border { + border: none; +} +#heading-breadcrumbs { + background: url('../img/texture-bw.png') center center repeat; + padding: 20px 0; + margin-bottom: 40px; +} +#heading-breadcrumbs.no-mb { + margin-bottom: 0; +} +#heading-breadcrumbs h1 { + color: #333333; + text-transform: uppercase; + font-size: 30px; + font-weight: 700; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #heading-breadcrumbs h1 { + text-align: center; + } +} +#heading-breadcrumbs ul.breadcrumb { + margin-top: 5px; + margin-bottom: 0; +} +.bar { + position: relative; + background: #955251; + padding: 60px 0; +} +.bar.background-pentagon { + background: url('../img/texture-bw.png') center center repeat; + border-top: solid 1px #999999; + border-bottom: solid 1px #999999; +} +.bar.background-gray { + background: #eeeeee; +} +.bar.background-gray-dark { + background: #555555; +} +.bar.background-white { + background: #fff; +} +.bar.background-image-fixed-1 { + background: url('../img/fixed-background-1.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.background-image-fixed-2 { + background: url('../img/fixed-background-2.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.color-white h1, +.bar.color-white h2, +.bar.color-white h3, +.bar.color-white h4, +.bar.color-white h5, +.bar.color-white h6, +.bar.color-white p { + color: #fff; +} +.bar.padding-big { + padding: 50px 0; +} +.bar.padding-horizontal { + padding-left: 30px; + padding-right: 30px; +} +.bar.margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.bar .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0.3; + filter: alpha(opacity=30); +} +.portfolio.no-space { + padding: 0 15px; +} +.portfolio.no-space .box-image { + margin: 0 -15px; +} +.portfolio-project .project-more h4 { + color: #555555; + text-transform: uppercase; + margin-bottom: 0; + text-align: left; + font-size: 14px; + letter-spacing: 0.08em; +} +.portfolio-project .project-more p { + color: #999999; + padding: 10px 0; + margin-bottom: 20px; + text-align: left; +} +.portfolio-showcase { + margin: 15px 0 60px; +} +.portfolio-showcase h3 a { + text-transform: uppercase; + line-height: 1.5; + letter-spacing: 0.08em; +} +.portfolio-showcase p.lead { + color: #555555; + margin-bottom: 20px; +} +.portfolio-showcase p { + color: #999999; +} +.portfolio-showcase p.buttons { + margin-top: 40px; +} +.see-more { + text-align: center; + margin-top: 20px; + padding-top: 20px; +} +.see-more p { + font-size: 28px; + font-weight: 100; + margin-bottom: 20px; +} +.showcase .item { + text-align: center; +} +.showcase .item .icon { + display: inline-block; + width: 50px; + height: 50px; + color: #555555; + line-height: 50px; + border-radius: 25px; + border: solid 1px #555555; +} +.showcase .item h4 { + color: #555555; + text-transform: uppercase; + letter-spacing: 0.08em; + line-height: 1.5; + font-size: 16px; +} +.showcase .item h4 span { + font-weight: bold; + font-size: 51px; +} +.packages .package { + background: #fff; + margin-top: 25px; + margin-bottom: 20px; + padding-bottom: 15px; + text-align: center; + border: solid 1px #955251; + overflow: hidden; +} +.packages .package .package-header { + height: 57px; + color: #fff; + line-height: 57px; + background: #955251; +} +.packages .package .package-header h5 { + color: #fff; + text-transform: uppercase; + font-weight: bold; + line-height: 57px; + margin: 0; + letter-spacing: 0.08em; +} +.packages .package .package-header.light-gray { + background: #eeeeee; +} +.packages .package .package-header.light-gray h5 { + color: #555555; +} +.packages .package .price { + line-height: 120px; + height: 100px; + color: #fff; + font-weight: 400; +} +.packages .package .price h4 { + display: inline; + font-size: 50px; + line-height: normal; + margin-bottom: 0; +} +.packages .package .price .period { + line-height: normal; + color: #999999; +} +.packages .package ul { + padding: 0; +} +.packages .package ul li { + list-style-type: none; + padding-top: 10px; + padding-bottom: 10px; + width: 80%; + margin: auto; + border-bottom: 1px dotted #ccc; +} +.packages .package ul li:last-child { + border-bottom: 0; +} +.packages .package ul li i { + font-size: 13px; + margin-right: 5px; +} +.packages .best-value .package { + margin-top: 0; + padding-bottom: 40px; +} +.packages .best-value .package .package-header { + height: 72px; + padding-top: 17px; + height: 82px !important; +} +.packages .best-value .package .package-header h5 { + font-weight: bold; + line-height: 29px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.packages .best-value .package .package-header .meta-text { + font-size: 13px; + line-height: 15px; +} +#map { + height: 300px; +} +#map.with-border { + border-top: solid 1px #955251; + border-bottom: solid 1px #955251; +} +#blog-listing-big .post, +#blog-homepage .post { + margin-bottom: 60px; +} +#blog-listing-big .post h2, +#blog-homepage .post h2, +#blog-listing-big .post h4, +#blog-homepage .post h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#blog-listing-big .post h2 a, +#blog-homepage .post h2 a, +#blog-listing-big .post h4 a, +#blog-homepage .post h4 a { + color: #555555; +} +#blog-listing-big .post h2 a:hover, +#blog-homepage .post h2 a:hover, +#blog-listing-big .post h4 a:hover, +#blog-homepage .post h4 a:hover { + color: #955251; +} +#blog-listing-big .post .author-category, +#blog-homepage .post .author-category { + color: #999999; + text-transform: uppercase; + font-weight: 300; + letter-spacing: 0.08em; +} +#blog-listing-big .post .author-category a, +#blog-homepage .post .author-category a { + font-weight: 500; +} +#blog-listing-big .post .date-comments a, +#blog-homepage .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-big .post .date-comments a:hover, +#blog-homepage .post .date-comments a:hover { + color: #955251; +} +@media (min-width: 768px) { + #blog-listing-big .post .date-comments, + #blog-homepage .post .date-comments { + text-align: right; + } +} +#blog-listing-big .post .intro, +#blog-homepage .post .intro { + text-align: left; +} +#blog-listing-big .post .image, +#blog-homepage .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-big .post .image img, +#blog-homepage .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-big .post .image img.img-responsive, + #blog-homepage .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-big .post .video, +#blog-homepage .post .video { + margin-bottom: 10px; +} +#blog-listing-big .post .read-more, +#blog-homepage .post .read-more { + text-align: right; +} +#blog-listing-medium .post { + margin-bottom: 60px; +} +#blog-listing-medium .post h2 { + text-transform: uppercase; + margin: 0 0 10px; + font-size: 24px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post h2 a { + color: #555555; +} +#blog-listing-medium .post h2 a:hover { + color: #955251; +} +#blog-listing-medium .post .author-category { + float: left; + color: #999999; + text-transform: uppercase; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post .author-category a { + font-weight: 500; +} +#blog-listing-medium .post .date-comments { + float: right; + font-size: 12px; +} +#blog-listing-medium .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-medium .post .date-comments a:hover { + color: #955251; +} +@media (min-width: 768px) { + #blog-listing-medium .post .date-comments { + text-align: right; + } +} +#blog-listing-medium .post .intro { + text-align: left; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-medium .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-medium .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-medium .post .video { + margin-bottom: 10px; +} +#blog-listing-medium .post .read-more { + text-align: right; +} +.box-image-text.blog .author-category { + color: #999999; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 300; + font-size: 12px; +} +.box-image-text.blog .author-category a { + font-weight: 500; +} +.box-image-text.blog .intro { + text-align: left; + margin-bottom: 20px; +} +#blog-homepage .post { + margin-bottom: 30px; +} +#blog-homepage .post h2, +#blog-homepage .post h4, +#blog-homepage .post .author-category, +#blog-homepage .post .read-more { + text-align: center; +} +#blog-homepage .post .read-more { + margin-top: 20px; +} +#blog-post #post-content { + margin-bottom: 20px; +} +#blog-post .comment { + margin-bottom: 25px; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment .posted { + color: #999999; + font-size: 12px; +} +#blog-post .comment .reply { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#blog-post .comment.last { + margin-bottom: 0; +} +#blog-post #comments, +#blog-post #comment-form { + padding: 20px 0; + margin-top: 20px; + border-top: solid 1px #eeeeee; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments h4, +#blog-post #comment-form h4 { + margin-bottom: 20px; +} +#blog-post #comment-form { + margin-bottom: 20px; +} +.product { + background: #fff; + border-bottom: solid 1px #e6e6e6; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 60px; + overflow: hidden; + text-align: center; +} +.product .image { + overflow: hidden; +} +.product .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .product .image img.img-responsive { + min-width: 100%; + } +} +.product .text { + padding: 10px; +} +.product .text h3 { + font-size: 14px; + font-weight: 700; + height: 39.6px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.product .text h3 a { + color: #555555; +} +.product .text h3 a:hover { + text-decoration: none; +} +.product .text p.price { + font-size: 18px; +} +.product .text p.price del { + color: #999999; +} +.product .buttons { + clear: both; + position: absolute; + display: none; + bottom: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: solid 1px transparent; + padding: 20px; + background: rgba(255, 255, 255, 0.9); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + text-align: center; +} +.product .buttons .btn { + margin-bottom: 20px; +} +.product:hover { + border-bottom: solid 1px #808080; + top: 0; +} +.product:hover .buttons { + clear: both; + position: absolute; + top: 0; + background: rgba(255, 255, 255, 0.5); +} +.product:hover .image img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.goToDescription { + font-size: 12px; + text-align: center; + margin-bottom: 40px; +} +.goToDescription a { + color: #999999; + text-decoration: underline; +} +#productMain { + margin-bottom: 30px; +} +#productMain .sizes { + text-align: center; +} +#productMain .sizes h3 { + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 40px; +} +#productMain .sizes a { + display: inline-block; + width: 40px; + height: 40px; + border-radius: 40px; + background: #ccc; + line-height: 40px; + color: #555555; + text-align: center; + text-decoration: none; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#productMain .sizes a.active, +#productMain .sizes a:hover { + background: #955251; + color: #fff; +} +#productMain .sizes input { + display: none; +} +#productMain .price { + font-size: 40px; + text-align: center; + margin-top: 40px; + margin-bottom: 40px; +} +#thumbs a { + display: block; + border: solid 1px transparent; +} +#thumbs a.active { + border-color: #955251; +} +#product-social { + text-align: center; +} +#product-social h4 { + font-weight: 300; + margin-bottom: 10px; +} +#product-social p { + line-height: 26px; +} +#product-social p a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +#product-social p a i { + vertical-align: bottom; + line-height: 26px; +} +#product-social p a.facebook { + background-color: #4460ae; +} +#product-social p a.gplus { + background-color: #c21f25; +} +#product-social p a.twitter { + background-color: #3cf; +} +#product-social p a.instagram { + background-color: #cd4378; +} +#product-social p a.email { + background-color: #4a7f45; +} +@media (max-width: 991px) { + #product-social { + text-align: center; + } +} +#checkout .nav { + margin-bottom: 20px; + border-bottom: solid 1px #955251; +} +#checkout .nav li { + height: 100%; +} +#checkout .nav li a { + display: block; + height: 100%; +} +#order-summary table { + margin-top: 20px; +} +#order-summary table td { + color: #999999; +} +#order-summary table tr.total td, +#order-summary table tr.total th { + font-size: 18px; + color: #555555; + font-weight: 700; +} +#checkout .table tbody tr td, +#basket .table tbody tr td, +#customer-order .table tbody tr td { + vertical-align: middle; +} +#checkout .table tbody tr td input, +#basket .table tbody tr td input, +#customer-order .table tbody tr td input { + width: 50px; + text-align: right; +} +#checkout .table tbody tr td img, +#basket .table tbody tr td img, +#customer-order .table tbody tr td img { + width: 50px; +} +#checkout .table tfoot, +#basket .table tfoot, +#customer-order .table tfoot { + font-size: 18px; +} +.shipping-method h4, +.payment-method h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#customer-orders table tr th, +#customer-orders table tr td { + vertical-align: baseline; +} +#customer-order .table tfoot th { + font-size: 18px; + font-weight: 300; +} +#customer-order .addresses { + text-align: right; + margin-bottom: 30px; +} +#customer-order .addresses p { + font-size: 18px; + font-weight: 300; +} +#customer-account { + margin-bottom: 30px; +} +#get-it { + background: #955251; + padding: 50px 0 30px; + color: #fff; + text-align: center; +} +#get-it h1, +#get-it h2, +#get-it h3, +#get-it h4, +#get-it h5, +#get-it h6 { + color: #fff; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 0 0 20px; +} +#get-it p { + margin: 0 0 20px; +} +#footer { + background: #555555; + padding: 50px 0; + color: #999999; +} +#footer h1, +#footer h2, +#footer h3, +#footer h4, +#footer h5, +#footer h6 { + color: #eeeeee; +} +#footer h4 { + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} +#footer ul { + padding-left: 0; + list-style: none; +} +#footer ul a { + color: #999999; +} +#footer ul a:hover { + color: #955251; + text-decoration: none; +} +#footer .photostream div { + float: left; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 33%; + padding: 7.5px; + overflow: hidden; +} +#footer .photostream div a { + border: solid 1 px #eeeeee; +} +#footer .photostream div img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#footer .photostream div:hover img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +#footer .blog-entries .item { + clear: both; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: solid 1px #555555; +} +#footer .blog-entries .item .image { + float: left; + width: 15%; + margin-right: 10px; +} +#footer .blog-entries .item .name { + width: 75%; + margin-left: 10px; + display: table-cell; + vertical-align: middle; +} +#footer .blog-entries .item .name h5 { + margin: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 12px; +} +#footer .blog-entries .item .name h5 a { + color: #eeeeee; +} +#footer .blog-entries .item .text { + width: 100%; + clear: both; +} +#footer .blog-entries .item:last-child { + border-bottom: none; + margin-bottom: 0; +} +#footer .social a { + color: #555555; + font-size: 25px; + margin: 0 10px 0 0; +} +#footer .social a:hover { + color: #955251; +} +#copyright { + background: #333; + color: #ccc; + padding: 50px 0; + font-size: 12px; + line-height: 28px; +} +#copyright p { + margin: 0; +} +@media (max-width: 991px) { + #copyright p { + float: none !important; + text-align: center; + margin-bottom: 10px; + } +} +[data-animate] { + opacity: 0; + filter: alpha(opacity=0); +} +#style-switch-button { + position: fixed; + top: 100px; + left: 0px; + border-radius: 0; +} +#style-switch { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 300px; + padding: 20px; + position: fixed; + top: 140px; + left: 0; + background: #fff; + border: solid 1px #eeeeee; +} +@media (max-width: 991px) { + #style-switch-button { + display: none; + } + #style-switch { + display: none; + } +} +/* Original Boostrap template overwrite */ +/* breadcrumbs */ +.breadcrumb { + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + background-color: none; + letter-spacing: 0.08em; +} +/* nav */ +.nav > li > a { + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #955251; +} +.nav-tabs { + border-bottom: 1px solid #955251; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #955251; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #955251; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: solid 1px #955251; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #955251; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #955251; + border-radius: 0 0 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 0; +} +.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: #ffffff; + background-color: #955251; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; + border-bottom: solid 1px #955251; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #955251; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #955251; + border-radius: 0 0 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content { + padding: 15px; + border: solid 1px #ddd; + border-top: none; +} +/* navbar */ +.navbar { + position: relative; + min-height: 62px; + margin-bottom: 0; + border-bottom: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; +} +.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-affixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-affixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@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: 10px 15px; + font-size: 18px; + line-height: 20px; + height: 62px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@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: 14px; + margin-bottom: 14px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-nav { + margin: 10.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .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: 20px; + } + .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: 21px; + padding-bottom: 21px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 14px; + margin-bottom: 14px; +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.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 { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-btn.btn-sm { + margin-top: 16px; + margin-bottom: 16px; +} +.navbar-btn.btn-xs { + margin-top: 20px; + margin-bottom: 20px; +} +.navbar-text { + margin-top: 21px; + margin-bottom: 21px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: #cccccc; + border-bottom: none; +} +.navbar-default .navbar-brand { + color: #555555; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #3b3b3b; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #555555; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #555555; + background-color: #c08c8c; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #955251; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #955251; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #cccccc; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #955251; + color: #ffffff; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #555555; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #955251; + } + .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: #ffffff; + background-color: #955251; + } + .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: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #555555; +} +.navbar-default .navbar-link:hover { + color: #555555; +} +.navbar-default .btn-link { + color: #555555; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #555555; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +/* scaffolding */ +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +a { + color: #955251; + text-decoration: none; +} +a:hover, +a:focus { + color: #633736; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.img-rounded { + border-radius: 0; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +/* breadcrumbs */ +.breadcrumb { + padding: 20px 0; + margin-bottom: 20px; + background-color: transparent; + border-radius: 0; + text-align: right; +} +.breadcrumb > li + li:before { + content: ">\00a0"; + color: #555555; +} +.breadcrumb > .active { + color: #999999; +} +@media (max-width: 991px) { + .breadcrumb { + padding: 20px 0; + text-align: center; + } +} +/* dropdowns */ +.dropdown-menu { + z-index: 1000; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + padding: 5px 20px; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +/* labels */ +.label { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: normal; + text-transform: uppercase; + letter-spacing: 0.08em; +} +/* forms.less */ +label { + font-weight: normal; +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; +} +.form-control:focus { + border-color: #955251; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(149, 82, 81, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(149, 82, 81, 0.6); +} +.form-group { + margin-bottom: 20px; +} +/* pager*/ +.pager { + margin: 20px 0; + border-top: solid 1px #eeeeee; + padding-top: 20px; + text-transform: uppercase; + letter-spacing: 0.08em; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + background-color: #ffffff; + border: 1px solid #955251; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + color: #fff; + background-color: #955251; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: #ddd; +} +/* pagination */ +.pagination { + margin: 20px 0; + font-family: "Roboto", Helvetica, Arial, sans-serif; + border-radius: 0; +} +.pagination > li > a, +.pagination > li > span { + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #955251; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #955251; + background-color: #d2adad; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #955251; + border-color: #955251; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: #dddddd; +} +/* responsive utilities */ +@media (max-width: 767px) { + .text-center-xs { + text-align: center !important; + } + .text-center-xs img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .text-center-sm { + text-align: center !important; + } + .text-center-sm img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +/* type */ +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: 900; + line-height: 1.1; + color: #333333; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 20px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 18px; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +.text-small { + font-size: 12px; +} +.text-large { + font-size: 18px; +} +.text-italic { + font-style: italic; +} +.text-primary { + color: #955251; +} +a.text-primary:hover { + color: #74403f; +} +.bg-primary { + color: #fff; + background-color: #955251; +} +a.bg-primary:hover { + background-color: #74403f; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 1px dotted #999999; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 14px; + border-left: 5px solid #955251; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + border-right: 5px solid #955251; +} +address { + margin-bottom: 20px; + line-height: 1.42857143; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 0 0; + box-shadow: 0 0 0; +} +.panel-heading { + border-top-right-radius: 0; + border-top-left-radius: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 15px 15px; +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group.accordion .panel { + border-color: #ccc; +} +.panel-primary { + border-color: #955251; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #955251; + border-color: #955251; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #955251; +} +.panel-primary > .panel-heading .badge { + color: #955251; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #955251; +} +.panel-primary .panel-title { + font-weight: 300; +} +.panel-primary .panel-title a:hover { + color: #fff; + text-decoration: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #955251; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.progress-bar-primary { + background-color: #955251; +} +.progress-striped .progress-bar-primary { + 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); +} +/*! + * Yamm!3 - Yet another megamenu for Bootstrap 3 + * http://geedmo.github.com/yamm3 + * + * @geedmo - Licensed under the MIT license + */ +.yamm .nav, +.yamm .collapse, +.yamm .dropup.use-yamm, +.yamm .dropdown.use-yamm { + position: static; +} +.yamm .container { + position: relative; +} +.yamm .dropdown-menu { + left: auto; +} +.yamm .nav.navbar-right .dropdown-menu { + left: auto; + right: 0; +} +.yamm .yamm-content { + padding: 20px 30px; +} +.yamm .dropdown.yamm-fw .dropdown-menu { + left: 15px; + right: 15px; +} diff --git a/public/css/style.pink.css b/public/css/style.pink.css new file mode 100644 index 0000000..b5faa8f --- /dev/null +++ b/public/css/style.pink.css @@ -0,0 +1,3566 @@ +.clearfix:before, +.clearfix:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; +} +.clearfix:after, +.navbar:after, +.navbar-header: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; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* general styles */ +a, +button { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +a i[class^="fa"], +button i[class^="fa"] { + margin: 0 5px; +} +.clickable { + cursor: pointer !important; +} +.required { + color: #c27baa; +} +.accent { + color: #c27baa; +} +.text-uppercase { + text-transform: uppercase; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .text-center-sm { + text-align: center; + } +} +p.lead { + margin-bottom: 40px; +} +section, +div.section { + margin-bottom: 40px; +} +.no-mb { + margin-bottom: 0 !important; +} +.mb-small { + margin-bottom: 20px !important; +} +.heading { + margin-bottom: 40px; +} +.heading h1, +.heading h2, +.heading h3, +.heading h4, +.heading h5 { + display: inline-block; + border-bottom: solid 5px #c27baa; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; + vertical-align: middle; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.heading h1 i[class^="fa"], +.heading h2 i[class^="fa"], +.heading h3 i[class^="fa"], +.heading h4 i[class^="fa"], +.heading h5 i[class^="fa"] { + display: inline-block; + background: #c27baa; + width: 30px; + height: 30px; + vertical-align: middle; + text-align: center; + color: #fff; + font-size: 12px; + line-height: 30px; + border-radius: 15px; +} +.icon { + display: inline-block; + width: 80px; + height: 80px; + color: #fff; + line-height: 80px; + border-radius: 40px; + border: solid 1px #fff; + font-size: 20px; +} +.icon.icon-lg { + font-size: 30px; + border-width: 2px; +} +.ul-icons { + padding-left: 10px; +} +.ul-icons li { + list-style-type: none; + line-height: 20px; + margin-bottom: 20px; +} +.ul-icons li i { + width: 20px; + height: 20px; + background: #c27baa; + color: #fff; + text-align: center; + border-radius: 10px; + line-height: 20px; + margin-right: 10px; +} +ul.list-style-none { + list-style: none; +} +#text-page h1, +#text-page h2, +#text-page h3 { + font-weight: 700; +} +#error-page { + text-align: center; + margin-top: 40px; + margin-bottom: 100px; +} +#error-page h4 { + margin-bottom: 40px; +} +#error-page p.buttons { + margin-top: 40px; +} +.pages-listing .item { + text-align: center; +} +.pages-listing .item h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 20px; + letter-spacing: 0.08em; +} +.pages-listing .item h3 a { + color: #555555; +} +.pages-listing .item .text { + margin-bottom: 20px; +} +.pages-listing .item .text p { + color: #999999; + font-size: 12px; + margin-bottom: 20px; +} +.banner { + margin-bottom: 30px; + text-align: center; +} +.banner img { + margin: 0 auto; +} +.banner a:hover img { + opacity: 0.8; + filter: alpha(opacity=80); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.pages { + text-align: center; +} +.pages .loadMore { + text-align: center; +} +.pages .pagination { + text-align: center; +} +.features-buttons button { + margin-bottom: 20px; +} +@media (min-width: 1300px) { + body.boxed { + background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); + } + body.boxed #all { + position: relative; + background: #fff; + width: 1200px; + margin: 0 auto; + overflow: hidden; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + } +} +#top { + background: #555555; + color: #eeeeee; + padding: 10px 0; +} +#top p { + margin: 0; + font-size: 12px; +} +#top .social { + float: right; + text-align: right; +} +#top .social a { + color: #999999; + display: inline-block; + width: 24px; + height: 24px; + border-radius: 12px; + line-height: 24px; + font-size: 12px; + text-align: center; +} +#top .social a:hover { + color: #fff; + background: #c27baa; + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#top .social a:hover.facebook { + background-color: #4460ae; +} +#top .social a:hover.gplus { + background-color: #c21f25; +} +#top .social a:hover.twitter { + background-color: #3cf; +} +#top .social a:hover.instagram { + background-color: #cd4378; +} +#top .social a:hover.email { + background-color: #4a7f45; +} +#top .login { + float: right; +} +#top .login a { + font-size: 12px; + color: #eeeeee; + margin-right: 15px; + text-decoration: none; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.10em; +} +@media (max-width: 767px) { + #top .login { + float: left; + } +} +#top.light { + background: #fff; + color: #999999; + border-bottom: solid 1px #eeeeee; +} +#top.light .login a { + color: #555555; +} +.navbar { + border: none; +} +.navbar ul.nav > li > a { + text-transform: uppercase; + text-decoration: underline; + font-weight: bold; + letter-spacing: 0.08em; + border-top: solid 5px transparent; +} +.navbar ul.nav > li > a:hover { + border-top: solid 5px #c27baa; +} +.navbar ul.nav > li.active > a, +.navbar ul.nav > li.open > a { + text-decoration: none !important; + border-top: solid 5px #934478; +} +@media (max-width: 768px) { + .navbar ul.nav > li.active > a, + .navbar ul.nav > li.open > a { + border-top-color: transparent; + } + .navbar ul.nav > li > a:hover { + border-top-color: transparent; + } +} +.navbar.navbar-light ul.nav > li.active > a { + border-top: solid 5px #934478; + background: #fff !important; + color: #555555 !important; +} +.navbar.navbar-light ul.nav > li.active > a:hover { + border-top: solid 5px #934478; +} +.navbar.navbar-light ul.nav > li > a:hover, +.navbar.navbar-light ul.nav > li.open > a:hover, +.navbar.navbar-light ul.nav > li > a:focus, +.navbar.navbar-light ul.nav > li.open > a:focus { + border-top: solid 5px #c27baa; + background: #fff !important; + color: #555555 !important; +} +.navbar ul.dropdown-menu { + margin: 0; + padding: 0; +} +.navbar ul.dropdown-menu li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 4px 0; +} +.navbar ul.dropdown-menu li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + left: 0; +} +.navbar ul.dropdown-menu li a:hover { + color: #c27baa; + text-decoration: none; + background: none; + left: 2px; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .navbar ul.dropdown-menu li a:hover { + left: 0; + } +} +.navbar .yamm-content h3 { + font-size: 18px; + text-transform: uppercase; + padding-bottom: 10px; + margin-top: 5px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +@media (max-width: 767px) { + .navbar .yamm-content h3 { + font-size: 14px; + } +} +.navbar .yamm-content h5 { + text-transform: uppercase; + padding-bottom: 10px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +.navbar .yamm-content ul { + margin: 0; + padding: 0; +} +.navbar .yamm-content ul li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + padding: 4px 0; +} +.navbar .yamm-content ul li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.navbar .yamm-content ul li a:hover { + color: #c27baa; + text-decoration: none; + padding-left: 2px; +} +.navbar .yamm-content .banner { + margin-bottom: 10px; +} +.navbar .yamm-fw .dropdown-menu { + padding: 0; +} +.navbar .navbar-buttons { + float: right; +} +.navbar .navbar-buttons button, +.navbar .navbar-buttons a.btn, +.navbar .navbar-buttons .btn-default.navbar-toggle { + margin-top: 11px; + margin-bottom: 11px; + margin-left: 0; + margin-right: 5px; +} +.navbar .btn-default, +.navbar .btn-default.navbar-toggle { + color: #999999; + background-color: #fff; + margin-left: 7px; + margin-right: 0; +} +.navbar .btn-default:hover, +.navbar .btn-default.navbar-toggle:hover, +.navbar .btn-default:focus, +.navbar .btn-default.navbar-toggle:focus { + background-color: #fff; + border-color: #c27baa; + color: #c27baa; +} +.navbar #search { + clear: both; + border-top: solid 1px #c27baa; + text-align: right; +} +.navbar #search form { + float: right; +} +.navbar #search form .input-group { + width: 500px; +} +@media (max-width: 768px) { + .navbar #search form .input-group { + width: 100%; + } +} +.navbar #basket-overview a { + margin-left: 7px; +} +.navbar-affixed-top { + top: -32px; +} +.navbar-affixed-top.affix-top { + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +.navbar-affixed-top.affix { + position: fixed; + width: 100%; + top: 0; + z-index: 1000; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +body.boxed .navbar-affixed-top.affix { + position: static; +} +#login-modal { + overflow: hidden; +} +#login-modal .modal-header h4 { + text-transform: uppercase; +} +#login-modal form { + margin-bottom: 20px; +} +#login-modal a { + color: #c27baa; +} +#login-modal p { + font-weight: 300; + margin-bottom: 20px; + font-size: 13px; +} +/* buttons */ +.btn { + font-weight: 700; + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 0; +} +.input-group .btn { + font-size: 14px; +} +.btn-lg { + padding: 10px 16px; + font-size: 14px; + line-height: 1.33; + border-radius: 0; +} +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-template-main { + color: #c27baa; + background-color: #ffffff; + border-color: #c27baa; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + color: #c27baa; + background-color: #e6e6e6; + border-color: #af518f; +} +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + background-image: none; +} +.btn-template-main.disabled, +.btn-template-main[disabled], +fieldset[disabled] .btn-template-main, +.btn-template-main.disabled:hover, +.btn-template-main[disabled]:hover, +fieldset[disabled] .btn-template-main:hover, +.btn-template-main.disabled:focus, +.btn-template-main[disabled]:focus, +fieldset[disabled] .btn-template-main:focus, +.btn-template-main.disabled:active, +.btn-template-main[disabled]:active, +fieldset[disabled] .btn-template-main:active, +.btn-template-main.disabled.active, +.btn-template-main[disabled].active, +fieldset[disabled] .btn-template-main.active { + background-color: #ffffff; + border-color: #c27baa; +} +.btn-template-main .badge { + color: #ffffff; + background-color: #c27baa; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active { + background: #c27baa; + color: #ffffff; + border-color: #c27baa; +} +.btn-template-transparent-primary { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + background-image: none; +} +.btn-template-transparent-primary.disabled, +.btn-template-transparent-primary[disabled], +fieldset[disabled] .btn-template-transparent-primary, +.btn-template-transparent-primary.disabled:hover, +.btn-template-transparent-primary[disabled]:hover, +fieldset[disabled] .btn-template-transparent-primary:hover, +.btn-template-transparent-primary.disabled:focus, +.btn-template-transparent-primary[disabled]:focus, +fieldset[disabled] .btn-template-transparent-primary:focus, +.btn-template-transparent-primary.disabled:active, +.btn-template-transparent-primary[disabled]:active, +fieldset[disabled] .btn-template-transparent-primary:active, +.btn-template-transparent-primary.disabled.active, +.btn-template-transparent-primary[disabled].active, +fieldset[disabled] .btn-template-transparent-primary.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active { + background: #fff; + color: #c27baa; + border-color: #fff; +} +.btn-template-transparent-black { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + background-image: none; +} +.btn-template-transparent-black.disabled, +.btn-template-transparent-black[disabled], +fieldset[disabled] .btn-template-transparent-black, +.btn-template-transparent-black.disabled:hover, +.btn-template-transparent-black[disabled]:hover, +fieldset[disabled] .btn-template-transparent-black:hover, +.btn-template-transparent-black.disabled:focus, +.btn-template-transparent-black[disabled]:focus, +fieldset[disabled] .btn-template-transparent-black:focus, +.btn-template-transparent-black.disabled:active, +.btn-template-transparent-black[disabled]:active, +fieldset[disabled] .btn-template-transparent-black:active, +.btn-template-transparent-black.disabled.active, +.btn-template-transparent-black[disabled].active, +fieldset[disabled] .btn-template-transparent-black.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active { + background: #fff; + color: #000; + border-color: #fff; +} +.btn-template-primary { + color: #ffffff; + background-color: #c27baa; + border-color: #c27baa; +} +.btn-template-primary:hover, +.btn-template-primary:focus, +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + color: #ffffff; + background-color: #b25894; + border-color: #af518f; +} +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + background-image: none; +} +.btn-template-primary.disabled, +.btn-template-primary[disabled], +fieldset[disabled] .btn-template-primary, +.btn-template-primary.disabled:hover, +.btn-template-primary[disabled]:hover, +fieldset[disabled] .btn-template-primary:hover, +.btn-template-primary.disabled:focus, +.btn-template-primary[disabled]:focus, +fieldset[disabled] .btn-template-primary:focus, +.btn-template-primary.disabled:active, +.btn-template-primary[disabled]:active, +fieldset[disabled] .btn-template-primary:active, +.btn-template-primary.disabled.active, +.btn-template-primary[disabled].active, +fieldset[disabled] .btn-template-primary.active { + background-color: #c27baa; + border-color: #c27baa; +} +.btn-template-primary .badge { + color: #c27baa; + background-color: #ffffff; +} +#intro { + background: url('../img/home.jpg') no-repeat center top; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} +#intro .item { + font-family: "Roboto", Helvetica, Arial, sans-serif; + height: 100%; +} +#intro .item h1 { + text-transform: uppercase; + font-size: 50px; + color: #fff; + margin-bottom: 40px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #intro .item h1 { + font-size: 40px; + } +} +@media (max-width: 767px) { + #intro .item h1 { + font-size: 25px; + } +} +#intro .item h3 { + color: #fff; + margin-bottom: 40px; +} +@media (max-width: 767px) { + #intro .item h3 { + font-size: 15px; + margin-bottom: 20px; + } +} +#intro .item .btn { + text-transform: none; +} +@media (max-width: 991px) { + #intro .item .btn { + font-size: 14px; + } +} +@media (max-width: 991px) { + #intro .item .carousel-caption { + left: 10%; + right: 10%; + } +} +#intro .container, +#intro .row { + height: 100%; + position: relative; +} +.jumbotron { + padding: 30px; + margin-bottom: 0; + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.jumbotron .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #c27baa; + opacity: 0.9; + filter: alpha(opacity=90); +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3, +.jumbotron p, +.jumbotron ul { + color: #fff; +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3 { + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.jumbotron p { + margin-bottom: 20px; + font-size: 21px; + font-weight: 400; +} +.jumbotron p.text-uppercase { + font-weight: 700; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 0; +} +.jumbotron .container { + max-width: 100%; + z-index: 2; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 46px; + } +} +#categoryMenu h3 { + padding: 20px; + background: #f7f7f7; + margin: 0; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.panel.sidebar-menu h3 { + padding: 5px 0; + margin: 0; +} +.panel.sidebar-menu { + background: #fff; + margin: 0 0 20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.panel.sidebar-menu .panel-heading { + text-transform: uppercase; + margin-bottom: 10px; + background: none; + padding: 0; + letter-spacing: 0.08em; + border-bottom: none; +} +.panel.sidebar-menu .panel-heading h1, +.panel.sidebar-menu .panel-heading h2, +.panel.sidebar-menu .panel-heading h3, +.panel.sidebar-menu .panel-heading h4, +.panel.sidebar-menu .panel-heading h5 { + display: inline-block; + border-bottom: solid 5px #c27baa; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; +} +.panel.sidebar-menu .panel-heading .btn.btn-danger { + color: #fff; + margin-top: 5px; +} +.panel.sidebar-menu .panel-body { + padding: 0; +} +.panel.sidebar-menu .panel-body span.colour { + display: inline-block; + width: 15px; + height: 15px; + border: solid 1px #555555; + vertical-align: top; + margin-top: 2px; + margin-left: 5px; +} +.panel.sidebar-menu .panel-body span.colour.white { + background: #fff; +} +.panel.sidebar-menu .panel-body span.colour.red { + background: red; +} +.panel.sidebar-menu .panel-body span.colour.green { + background: green; +} +.panel.sidebar-menu .panel-body span.colour.blue { + background: blue; +} +.panel.sidebar-menu .panel-body span.colour.yellow { + background: yellow; +} +.panel.sidebar-menu .panel-body label { + color: #999999; + font-size: 12px; +} +.panel.sidebar-menu .panel-body label:hover { + color: #555555; +} +.panel.sidebar-menu ul.nav.category-menu { + margin-bottom: 20px; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.08em; +} +.panel.sidebar-menu ul.nav.category-menu li a { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.panel.sidebar-menu ul.nav ul { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.nav ul li { + display: block; +} +.panel.sidebar-menu ul.nav ul li a { + position: relative; + font-family: "Times New Roman", Times, serif; + font-weight: normal; + text-transform: none !important; + display: block; + padding: 10px 15px; + padding-left: 30px; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.nav ul li a:hover, +.panel.sidebar-menu ul.nav ul li a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.panel.sidebar-menu ul.tag-cloud { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.tag-cloud li { + display: inline-block; +} +.panel.sidebar-menu ul.tag-cloud li a { + display: inline-block; + padding: 5px; + border: solid 1px #eeeeee; + border-radius: 0; + color: #c27baa; + margin: 5px 5px 5px 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + font-size: 12px; + text-decoration: none; +} +.panel.sidebar-menu ul.tag-cloud li a:hover { + color: #c27baa; + border-color: #c27baa; +} +.panel.sidebar-menu ul.tag-cloud li.active a { + color: #FFFFFF; + background-color: #c27baa; +} +.panel.sidebar-menu ul.tag-cloud li.active a:hover { + color: #FFFFFF; +} +.panel.sidebar-menu ul.popular, +.panel.sidebar-menu ul.recent { + list-style: none; + padding-left: 0; + padding: 20px 0; +} +.panel.sidebar-menu ul.popular li, +.panel.sidebar-menu ul.recent li { + margin-bottom: 10px; + padding: 5px 0; + border-bottom: dotted 1px #eeeeee; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li img, +.panel.sidebar-menu ul.recent li img { + width: 50px; + margin-right: 10px; +} +.panel.sidebar-menu ul.popular li h5, +.panel.sidebar-menu ul.recent li h5 { + margin: 0 0 10px; +} +.panel.sidebar-menu ul.popular li h5 a, +.panel.sidebar-menu ul.recent li h5 a { + font-weight: normal; +} +.panel.sidebar-menu ul.popular li p.date, +.panel.sidebar-menu ul.recent li p.date { + float: right; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.popular li:last-child, +.panel.sidebar-menu ul.recent li:last-child { + border-bottom: none; +} +.panel.sidebar-menu .text-widget { + font-size: 12px; +} +.panel.sidebar-menu.with-icons ul.nav li a:after { + font-family: 'FontAwesome'; + content: "\f105"; + position: relative; + top: 0; + float: right; +} +/* ribbons for product sales etc. */ +.ribbon { + position: absolute; + top: 50px; + padding-left: 51px; + font-weight: 700; + letter-spacing: 0.08em; +} +.ribbon .ribbon-background { + position: absolute; + top: 0; + right: 0; +} +.ribbon .theribbon { + position: relative; + width: 80px; + padding: 6px 20px 6px 20px; + margin: 30px 10px 10px -71px; + color: #fff; + background-color: #c27baa; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.ribbon .theribbon:before, +.ribbon .theribbon:after { + content: ' '; + position: absolute; + width: 0; + height: 0; +} +.ribbon .theribbon:after { + left: 0px; + top: 100%; + border-width: 5px 10px; + border-style: solid; + border-color: #000000 #000000 transparent transparent; +} +.ribbon.sale { + top: 0; +} +.ribbon.new { + top: 50px; +} +.ribbon.new .theribbon { + background-color: #5bc0de; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.new .theribbon:after { + border-color: #2390b0 #2390b0 transparent transparent; +} +.ribbon.gift { + top: 100px; +} +.ribbon.gift .theribbon { + background-color: #5cb85c; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.gift .theribbon:after { + border-color: #357935 #357935 transparent transparent; +} +.owl-carousel .owl-controls .owl-page.active span, +.owl-theme .owl-controls .owl-page.active span, +.owl-carousel .owl-controls.clickable .owl-page:hover span, +.owl-theme .owl-controls.clickable .owl-page:hover span { + background: #c27baa; +} +.owl-carousel .owl-controls .owl-buttons, +.owl-theme .owl-controls .owl-buttons { + position: absolute; + top: 5px; + right: 0; +} +.owl-carousel .owl-controls .owl-buttons div, +.owl-theme .owl-controls .owl-buttons div { + width: 26px; + height: 26px; + line-height: 25px; + margin: 0 5px 0 0; + font-size: 18px; + color: #c27baa; + padding: 0; + background: #fff; + border-radius: 13px; + vertical-align: middle; + text-align: center; + opacity: 1; + filter: alpha(opacity=100); +} +.home-carousel { + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.home-carousel .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #c27baa; + opacity: 0.9; + filter: alpha(opacity=90); +} +.home-carousel .owl-carousel { + padding-top: 60px; + padding-bottom: 20px; +} +.home-carousel .owl-theme .owl-controls .owl-page span { + background: #666; +} +.home-carousel .owl-theme .owl-controls .owl-page.active span { + background: #fff; +} +.home-carousel .owl-theme .owl-controls .owl-page:hover span { + background: #fff; +} +@media (max-width: 767px) { + .home-carousel { + text-align: center !important; + } +} +@media (min-width: 992px) { + .home-carousel .right { + text-align: right; + } +} +.home-carousel h1, +.home-carousel h2, +.home-carousel h3, +.home-carousel p, +.home-carousel ul { + color: #fff; +} +.home-carousel h1 { + font-weight: 700; + text-transform: uppercase; + font-size: 46px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .home-carousel h1 { + font-size: 36px; + } +} +.home-carousel h2 { + font-weight: 700; + text-transform: uppercase; + font-size: 40px; + letter-spacing: 0.08em; +} +.home-carousel ul, +.home-carousel p { + font-size: 18px; + font-weight: 700; + padding: 0; + text-transform: uppercase; + letter-spacing: 0.10em; +} +@media (max-width: 991px) { + .home-carousel ul, + .home-carousel p { + font-size: 14px; + } +} +.home-carousel ul li { + margin-bottom: 10px; +} +.customers { + padding: 0; + margin-bottom: 40px; +} +.customers .item { + list-style-type: none; + text-align: center; + margin: 0 20px; +} +.customers .item img { + display: inline-block; + filter: url("data:image/svg+xml;utf8,#grayscale"); + /* Firefox 10+, Firefox on Android */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+, Safari 6+, Safari 6+ iOS */ + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.customers .item img:hover { + max-width: auto; + filter: none; + -webkit-filter: none; +} +.testimonials { + padding: 0; + margin-bottom: 40px; +} +.testimonials .item { + list-style-type: none; + margin: 0 5px; + background: #fff; + padding-bottom: 60px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.testimonials .item .testimonial { + position: relative; + padding: 20px; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial .text { + color: #999999; + margin-bottom: 40px; +} +.testimonials .item .testimonial .bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + height: 50px; +} +.testimonials .item .testimonial .bottom .icon { + color: #c27baa; + font-size: 30px; + float: left; + width: 20%; +} +.testimonials .item .testimonial .name-picture { + float: right; + width: 80%; + text-align: right; +} +.testimonials .item .testimonial .name-picture h5 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.testimonials .item .testimonial .name-picture p { + color: #999999; + margin: 0; + font-size: 12px; +} +.testimonials .item .testimonial .name-picture img { + float: right; + width: 60px; + border-radius: 30px; + margin-left: 10px; +} +.team-member { + text-align: center; + margin-bottom: 40px; +} +.team-member h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 5px; + letter-spacing: 0.08em; +} +.team-member h3 a { + color: #555555; +} +.team-member p.role { + color: #999999; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.team-member .social { + margin-bottom: 20px; +} +.team-member .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email { + background-color: #4a7f45; +} +.team-member .text p { + color: #999999; + font-size: 12px; +} +.team-member .social, +.team-member-detail .social { + margin-bottom: 20px; +} +.team-member .social a, +.team-member-detail .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i, +.team-member-detail .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook, +.team-member-detail .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus, +.team-member-detail .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter, +.team-member-detail .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram, +.team-member-detail .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email, +.team-member-detail .social a.email { + background-color: #4a7f45; +} +.box-simple { + text-align: center; + margin-bottom: 40px; +} +.box-simple .icon { + color: #c27baa; + border-color: #c27baa; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.box-simple h3 { + font-weight: normal; + font-size: 18px; + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-simple h3 a { + color: #555555; +} +.box-simple p { + color: #999999; +} +.box-simple:hover .icon { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.box-simple:hover .icon i { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.box-simple.box-white { + padding: 20px; + border: dotted 1px #999999; +} +.box-simple.box-white .icon { + color: #555555; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark { + padding: 20px; + border: dotted 1px #999999; + background: #555555; + color: #fff; +} +.box-simple.box-dark .icon { + color: #f7f7f7; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark h3 { + color: #fff; +} +.box-simple.box-dark h3 a { + color: #fff; +} +.box-simple.box-dark p { + color: #fff; +} +.box-image { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #c27baa; +} +.box-image .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +.box-image-text { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image-text .top { + position: relative; + margin-bottom: 10px; +} +.box-image-text .top .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #c27baa; +} +.box-image-text .top .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .top .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image-text .top .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image-text .top .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .content h3, +.box-image-text .content h4 { + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-image-text .content p { + color: #999999; +} +.box-image-text:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image-text:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image-text:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +/* universal box */ +.box { + background: #fff; + margin: 0 0 30px; + border: solid 1px #ccc; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px 0; + border-left: none; + border-right: none; +} +.box .box-header { + background: #f7f7f7; + margin: -20px 0 20px; + padding: 20px; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-footer { + background: #f7f7f7; + margin: 30px 0 -20px; + padding: 20px; + border-top: solid 1px #eeeeee; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +@media (max-width: 991px) { + .box .box-footer .btn { + margin-bottom: 20px; + } +} +.box.no-border { + border: none; +} +#heading-breadcrumbs { + background: url('../img/texture-bw.png') center center repeat; + padding: 20px 0; + margin-bottom: 40px; +} +#heading-breadcrumbs.no-mb { + margin-bottom: 0; +} +#heading-breadcrumbs h1 { + color: #333333; + text-transform: uppercase; + font-size: 30px; + font-weight: 700; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #heading-breadcrumbs h1 { + text-align: center; + } +} +#heading-breadcrumbs ul.breadcrumb { + margin-top: 5px; + margin-bottom: 0; +} +.bar { + position: relative; + background: #c27baa; + padding: 60px 0; +} +.bar.background-pentagon { + background: url('../img/texture-bw.png') center center repeat; + border-top: solid 1px #999999; + border-bottom: solid 1px #999999; +} +.bar.background-gray { + background: #eeeeee; +} +.bar.background-gray-dark { + background: #555555; +} +.bar.background-white { + background: #fff; +} +.bar.background-image-fixed-1 { + background: url('../img/fixed-background-1.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.background-image-fixed-2 { + background: url('../img/fixed-background-2.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.color-white h1, +.bar.color-white h2, +.bar.color-white h3, +.bar.color-white h4, +.bar.color-white h5, +.bar.color-white h6, +.bar.color-white p { + color: #fff; +} +.bar.padding-big { + padding: 50px 0; +} +.bar.padding-horizontal { + padding-left: 30px; + padding-right: 30px; +} +.bar.margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.bar .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0.3; + filter: alpha(opacity=30); +} +.portfolio.no-space { + padding: 0 15px; +} +.portfolio.no-space .box-image { + margin: 0 -15px; +} +.portfolio-project .project-more h4 { + color: #555555; + text-transform: uppercase; + margin-bottom: 0; + text-align: left; + font-size: 14px; + letter-spacing: 0.08em; +} +.portfolio-project .project-more p { + color: #999999; + padding: 10px 0; + margin-bottom: 20px; + text-align: left; +} +.portfolio-showcase { + margin: 15px 0 60px; +} +.portfolio-showcase h3 a { + text-transform: uppercase; + line-height: 1.5; + letter-spacing: 0.08em; +} +.portfolio-showcase p.lead { + color: #555555; + margin-bottom: 20px; +} +.portfolio-showcase p { + color: #999999; +} +.portfolio-showcase p.buttons { + margin-top: 40px; +} +.see-more { + text-align: center; + margin-top: 20px; + padding-top: 20px; +} +.see-more p { + font-size: 28px; + font-weight: 100; + margin-bottom: 20px; +} +.showcase .item { + text-align: center; +} +.showcase .item .icon { + display: inline-block; + width: 50px; + height: 50px; + color: #555555; + line-height: 50px; + border-radius: 25px; + border: solid 1px #555555; +} +.showcase .item h4 { + color: #555555; + text-transform: uppercase; + letter-spacing: 0.08em; + line-height: 1.5; + font-size: 16px; +} +.showcase .item h4 span { + font-weight: bold; + font-size: 51px; +} +.packages .package { + background: #fff; + margin-top: 25px; + margin-bottom: 20px; + padding-bottom: 15px; + text-align: center; + border: solid 1px #c27baa; + overflow: hidden; +} +.packages .package .package-header { + height: 57px; + color: #fff; + line-height: 57px; + background: #c27baa; +} +.packages .package .package-header h5 { + color: #fff; + text-transform: uppercase; + font-weight: bold; + line-height: 57px; + margin: 0; + letter-spacing: 0.08em; +} +.packages .package .package-header.light-gray { + background: #eeeeee; +} +.packages .package .package-header.light-gray h5 { + color: #555555; +} +.packages .package .price { + line-height: 120px; + height: 100px; + color: #fff; + font-weight: 400; +} +.packages .package .price h4 { + display: inline; + font-size: 50px; + line-height: normal; + margin-bottom: 0; +} +.packages .package .price .period { + line-height: normal; + color: #999999; +} +.packages .package ul { + padding: 0; +} +.packages .package ul li { + list-style-type: none; + padding-top: 10px; + padding-bottom: 10px; + width: 80%; + margin: auto; + border-bottom: 1px dotted #ccc; +} +.packages .package ul li:last-child { + border-bottom: 0; +} +.packages .package ul li i { + font-size: 13px; + margin-right: 5px; +} +.packages .best-value .package { + margin-top: 0; + padding-bottom: 40px; +} +.packages .best-value .package .package-header { + height: 72px; + padding-top: 17px; + height: 82px !important; +} +.packages .best-value .package .package-header h5 { + font-weight: bold; + line-height: 29px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.packages .best-value .package .package-header .meta-text { + font-size: 13px; + line-height: 15px; +} +#map { + height: 300px; +} +#map.with-border { + border-top: solid 1px #c27baa; + border-bottom: solid 1px #c27baa; +} +#blog-listing-big .post, +#blog-homepage .post { + margin-bottom: 60px; +} +#blog-listing-big .post h2, +#blog-homepage .post h2, +#blog-listing-big .post h4, +#blog-homepage .post h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#blog-listing-big .post h2 a, +#blog-homepage .post h2 a, +#blog-listing-big .post h4 a, +#blog-homepage .post h4 a { + color: #555555; +} +#blog-listing-big .post h2 a:hover, +#blog-homepage .post h2 a:hover, +#blog-listing-big .post h4 a:hover, +#blog-homepage .post h4 a:hover { + color: #c27baa; +} +#blog-listing-big .post .author-category, +#blog-homepage .post .author-category { + color: #999999; + text-transform: uppercase; + font-weight: 300; + letter-spacing: 0.08em; +} +#blog-listing-big .post .author-category a, +#blog-homepage .post .author-category a { + font-weight: 500; +} +#blog-listing-big .post .date-comments a, +#blog-homepage .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-big .post .date-comments a:hover, +#blog-homepage .post .date-comments a:hover { + color: #c27baa; +} +@media (min-width: 768px) { + #blog-listing-big .post .date-comments, + #blog-homepage .post .date-comments { + text-align: right; + } +} +#blog-listing-big .post .intro, +#blog-homepage .post .intro { + text-align: left; +} +#blog-listing-big .post .image, +#blog-homepage .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-big .post .image img, +#blog-homepage .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-big .post .image img.img-responsive, + #blog-homepage .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-big .post .video, +#blog-homepage .post .video { + margin-bottom: 10px; +} +#blog-listing-big .post .read-more, +#blog-homepage .post .read-more { + text-align: right; +} +#blog-listing-medium .post { + margin-bottom: 60px; +} +#blog-listing-medium .post h2 { + text-transform: uppercase; + margin: 0 0 10px; + font-size: 24px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post h2 a { + color: #555555; +} +#blog-listing-medium .post h2 a:hover { + color: #c27baa; +} +#blog-listing-medium .post .author-category { + float: left; + color: #999999; + text-transform: uppercase; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post .author-category a { + font-weight: 500; +} +#blog-listing-medium .post .date-comments { + float: right; + font-size: 12px; +} +#blog-listing-medium .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-medium .post .date-comments a:hover { + color: #c27baa; +} +@media (min-width: 768px) { + #blog-listing-medium .post .date-comments { + text-align: right; + } +} +#blog-listing-medium .post .intro { + text-align: left; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-medium .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-medium .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-medium .post .video { + margin-bottom: 10px; +} +#blog-listing-medium .post .read-more { + text-align: right; +} +.box-image-text.blog .author-category { + color: #999999; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 300; + font-size: 12px; +} +.box-image-text.blog .author-category a { + font-weight: 500; +} +.box-image-text.blog .intro { + text-align: left; + margin-bottom: 20px; +} +#blog-homepage .post { + margin-bottom: 30px; +} +#blog-homepage .post h2, +#blog-homepage .post h4, +#blog-homepage .post .author-category, +#blog-homepage .post .read-more { + text-align: center; +} +#blog-homepage .post .read-more { + margin-top: 20px; +} +#blog-post #post-content { + margin-bottom: 20px; +} +#blog-post .comment { + margin-bottom: 25px; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment .posted { + color: #999999; + font-size: 12px; +} +#blog-post .comment .reply { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#blog-post .comment.last { + margin-bottom: 0; +} +#blog-post #comments, +#blog-post #comment-form { + padding: 20px 0; + margin-top: 20px; + border-top: solid 1px #eeeeee; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments h4, +#blog-post #comment-form h4 { + margin-bottom: 20px; +} +#blog-post #comment-form { + margin-bottom: 20px; +} +.product { + background: #fff; + border-bottom: solid 1px #e6e6e6; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 60px; + overflow: hidden; + text-align: center; +} +.product .image { + overflow: hidden; +} +.product .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .product .image img.img-responsive { + min-width: 100%; + } +} +.product .text { + padding: 10px; +} +.product .text h3 { + font-size: 14px; + font-weight: 700; + height: 39.6px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.product .text h3 a { + color: #555555; +} +.product .text h3 a:hover { + text-decoration: none; +} +.product .text p.price { + font-size: 18px; +} +.product .text p.price del { + color: #999999; +} +.product .buttons { + clear: both; + position: absolute; + display: none; + bottom: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: solid 1px transparent; + padding: 20px; + background: rgba(255, 255, 255, 0.9); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + text-align: center; +} +.product .buttons .btn { + margin-bottom: 20px; +} +.product:hover { + border-bottom: solid 1px #808080; + top: 0; +} +.product:hover .buttons { + clear: both; + position: absolute; + top: 0; + background: rgba(255, 255, 255, 0.5); +} +.product:hover .image img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.goToDescription { + font-size: 12px; + text-align: center; + margin-bottom: 40px; +} +.goToDescription a { + color: #999999; + text-decoration: underline; +} +#productMain { + margin-bottom: 30px; +} +#productMain .sizes { + text-align: center; +} +#productMain .sizes h3 { + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 40px; +} +#productMain .sizes a { + display: inline-block; + width: 40px; + height: 40px; + border-radius: 40px; + background: #ccc; + line-height: 40px; + color: #555555; + text-align: center; + text-decoration: none; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#productMain .sizes a.active, +#productMain .sizes a:hover { + background: #c27baa; + color: #fff; +} +#productMain .sizes input { + display: none; +} +#productMain .price { + font-size: 40px; + text-align: center; + margin-top: 40px; + margin-bottom: 40px; +} +#thumbs a { + display: block; + border: solid 1px transparent; +} +#thumbs a.active { + border-color: #c27baa; +} +#product-social { + text-align: center; +} +#product-social h4 { + font-weight: 300; + margin-bottom: 10px; +} +#product-social p { + line-height: 26px; +} +#product-social p a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +#product-social p a i { + vertical-align: bottom; + line-height: 26px; +} +#product-social p a.facebook { + background-color: #4460ae; +} +#product-social p a.gplus { + background-color: #c21f25; +} +#product-social p a.twitter { + background-color: #3cf; +} +#product-social p a.instagram { + background-color: #cd4378; +} +#product-social p a.email { + background-color: #4a7f45; +} +@media (max-width: 991px) { + #product-social { + text-align: center; + } +} +#checkout .nav { + margin-bottom: 20px; + border-bottom: solid 1px #c27baa; +} +#checkout .nav li { + height: 100%; +} +#checkout .nav li a { + display: block; + height: 100%; +} +#order-summary table { + margin-top: 20px; +} +#order-summary table td { + color: #999999; +} +#order-summary table tr.total td, +#order-summary table tr.total th { + font-size: 18px; + color: #555555; + font-weight: 700; +} +#checkout .table tbody tr td, +#basket .table tbody tr td, +#customer-order .table tbody tr td { + vertical-align: middle; +} +#checkout .table tbody tr td input, +#basket .table tbody tr td input, +#customer-order .table tbody tr td input { + width: 50px; + text-align: right; +} +#checkout .table tbody tr td img, +#basket .table tbody tr td img, +#customer-order .table tbody tr td img { + width: 50px; +} +#checkout .table tfoot, +#basket .table tfoot, +#customer-order .table tfoot { + font-size: 18px; +} +.shipping-method h4, +.payment-method h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#customer-orders table tr th, +#customer-orders table tr td { + vertical-align: baseline; +} +#customer-order .table tfoot th { + font-size: 18px; + font-weight: 300; +} +#customer-order .addresses { + text-align: right; + margin-bottom: 30px; +} +#customer-order .addresses p { + font-size: 18px; + font-weight: 300; +} +#customer-account { + margin-bottom: 30px; +} +#get-it { + background: #c27baa; + padding: 50px 0 30px; + color: #fff; + text-align: center; +} +#get-it h1, +#get-it h2, +#get-it h3, +#get-it h4, +#get-it h5, +#get-it h6 { + color: #fff; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 0 0 20px; +} +#get-it p { + margin: 0 0 20px; +} +#footer { + background: #555555; + padding: 50px 0; + color: #999999; +} +#footer h1, +#footer h2, +#footer h3, +#footer h4, +#footer h5, +#footer h6 { + color: #eeeeee; +} +#footer h4 { + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} +#footer ul { + padding-left: 0; + list-style: none; +} +#footer ul a { + color: #999999; +} +#footer ul a:hover { + color: #c27baa; + text-decoration: none; +} +#footer .photostream div { + float: left; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 33%; + padding: 7.5px; + overflow: hidden; +} +#footer .photostream div a { + border: solid 1 px #eeeeee; +} +#footer .photostream div img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#footer .photostream div:hover img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +#footer .blog-entries .item { + clear: both; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: solid 1px #555555; +} +#footer .blog-entries .item .image { + float: left; + width: 15%; + margin-right: 10px; +} +#footer .blog-entries .item .name { + width: 75%; + margin-left: 10px; + display: table-cell; + vertical-align: middle; +} +#footer .blog-entries .item .name h5 { + margin: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 12px; +} +#footer .blog-entries .item .name h5 a { + color: #eeeeee; +} +#footer .blog-entries .item .text { + width: 100%; + clear: both; +} +#footer .blog-entries .item:last-child { + border-bottom: none; + margin-bottom: 0; +} +#footer .social a { + color: #555555; + font-size: 25px; + margin: 0 10px 0 0; +} +#footer .social a:hover { + color: #c27baa; +} +#copyright { + background: #333; + color: #ccc; + padding: 50px 0; + font-size: 12px; + line-height: 28px; +} +#copyright p { + margin: 0; +} +@media (max-width: 991px) { + #copyright p { + float: none !important; + text-align: center; + margin-bottom: 10px; + } +} +[data-animate] { + opacity: 0; + filter: alpha(opacity=0); +} +#style-switch-button { + position: fixed; + top: 100px; + left: 0px; + border-radius: 0; +} +#style-switch { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 300px; + padding: 20px; + position: fixed; + top: 140px; + left: 0; + background: #fff; + border: solid 1px #eeeeee; +} +@media (max-width: 991px) { + #style-switch-button { + display: none; + } + #style-switch { + display: none; + } +} +/* Original Boostrap template overwrite */ +/* breadcrumbs */ +.breadcrumb { + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + background-color: none; + letter-spacing: 0.08em; +} +/* nav */ +.nav > li > a { + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #c27baa; +} +.nav-tabs { + border-bottom: 1px solid #c27baa; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #c27baa; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #c27baa; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: solid 1px #c27baa; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #c27baa; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #c27baa; + border-radius: 0 0 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 0; +} +.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: #ffffff; + background-color: #c27baa; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; + border-bottom: solid 1px #c27baa; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #c27baa; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #c27baa; + border-radius: 0 0 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content { + padding: 15px; + border: solid 1px #ddd; + border-top: none; +} +/* navbar */ +.navbar { + position: relative; + min-height: 62px; + margin-bottom: 0; + border-bottom: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; +} +.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-affixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-affixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@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: 10px 15px; + font-size: 18px; + line-height: 20px; + height: 62px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@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: 14px; + margin-bottom: 14px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-nav { + margin: 10.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .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: 20px; + } + .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: 21px; + padding-bottom: 21px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 14px; + margin-bottom: 14px; +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.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 { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-btn.btn-sm { + margin-top: 16px; + margin-bottom: 16px; +} +.navbar-btn.btn-xs { + margin-top: 20px; + margin-bottom: 20px; +} +.navbar-text { + margin-top: 21px; + margin-bottom: 21px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: #cccccc; + border-bottom: none; +} +.navbar-default .navbar-brand { + color: #555555; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #3b3b3b; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #555555; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #555555; + background-color: #e2c1d7; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #c27baa; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #c27baa; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #cccccc; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #c27baa; + color: #ffffff; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #555555; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #c27baa; + } + .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: #ffffff; + background-color: #c27baa; + } + .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: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #555555; +} +.navbar-default .navbar-link:hover { + color: #555555; +} +.navbar-default .btn-link { + color: #555555; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #555555; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +/* scaffolding */ +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +a { + color: #c27baa; + text-decoration: none; +} +a:hover, +a:focus { + color: #a44c87; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.img-rounded { + border-radius: 0; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +/* breadcrumbs */ +.breadcrumb { + padding: 20px 0; + margin-bottom: 20px; + background-color: transparent; + border-radius: 0; + text-align: right; +} +.breadcrumb > li + li:before { + content: ">\00a0"; + color: #555555; +} +.breadcrumb > .active { + color: #999999; +} +@media (max-width: 991px) { + .breadcrumb { + padding: 20px 0; + text-align: center; + } +} +/* dropdowns */ +.dropdown-menu { + z-index: 1000; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + padding: 5px 20px; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +/* labels */ +.label { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: normal; + text-transform: uppercase; + letter-spacing: 0.08em; +} +/* forms.less */ +label { + font-weight: normal; +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; +} +.form-control:focus { + border-color: #c27baa; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(194, 123, 170, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(194, 123, 170, 0.6); +} +.form-group { + margin-bottom: 20px; +} +/* pager*/ +.pager { + margin: 20px 0; + border-top: solid 1px #eeeeee; + padding-top: 20px; + text-transform: uppercase; + letter-spacing: 0.08em; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + background-color: #ffffff; + border: 1px solid #c27baa; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + color: #fff; + background-color: #c27baa; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: #ddd; +} +/* pagination */ +.pagination { + margin: 20px 0; + font-family: "Roboto", Helvetica, Arial, sans-serif; + border-radius: 0; +} +.pagination > li > a, +.pagination > li > span { + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #c27baa; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #c27baa; + background-color: #f2e4ed; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #c27baa; + border-color: #c27baa; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: #dddddd; +} +/* responsive utilities */ +@media (max-width: 767px) { + .text-center-xs { + text-align: center !important; + } + .text-center-xs img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .text-center-sm { + text-align: center !important; + } + .text-center-sm img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +/* type */ +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: 900; + line-height: 1.1; + color: #333333; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 20px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 18px; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +.text-small { + font-size: 12px; +} +.text-large { + font-size: 18px; +} +.text-italic { + font-style: italic; +} +.text-primary { + color: #c27baa; +} +a.text-primary:hover { + color: #b25894; +} +.bg-primary { + color: #fff; + background-color: #c27baa; +} +a.bg-primary:hover { + background-color: #b25894; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 1px dotted #999999; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 14px; + border-left: 5px solid #c27baa; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + border-right: 5px solid #c27baa; +} +address { + margin-bottom: 20px; + line-height: 1.42857143; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 0 0; + box-shadow: 0 0 0; +} +.panel-heading { + border-top-right-radius: 0; + border-top-left-radius: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 15px 15px; +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group.accordion .panel { + border-color: #ccc; +} +.panel-primary { + border-color: #c27baa; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #c27baa; + border-color: #c27baa; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #c27baa; +} +.panel-primary > .panel-heading .badge { + color: #c27baa; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #c27baa; +} +.panel-primary .panel-title { + font-weight: 300; +} +.panel-primary .panel-title a:hover { + color: #fff; + text-decoration: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #c27baa; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.progress-bar-primary { + background-color: #c27baa; +} +.progress-striped .progress-bar-primary { + 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); +} +/*! + * Yamm!3 - Yet another megamenu for Bootstrap 3 + * http://geedmo.github.com/yamm3 + * + * @geedmo - Licensed under the MIT license + */ +.yamm .nav, +.yamm .collapse, +.yamm .dropup.use-yamm, +.yamm .dropdown.use-yamm { + position: static; +} +.yamm .container { + position: relative; +} +.yamm .dropdown-menu { + left: auto; +} +.yamm .nav.navbar-right .dropdown-menu { + left: auto; + right: 0; +} +.yamm .yamm-content { + padding: 20px 30px; +} +.yamm .dropdown.yamm-fw .dropdown-menu { + left: 15px; + right: 15px; +} diff --git a/public/css/style.red.css b/public/css/style.red.css new file mode 100644 index 0000000..cf4710f --- /dev/null +++ b/public/css/style.red.css @@ -0,0 +1,3566 @@ +.clearfix:before, +.clearfix:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; +} +.clearfix:after, +.navbar:after, +.navbar-header: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; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* general styles */ +a, +button { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +a i[class^="fa"], +button i[class^="fa"] { + margin: 0 5px; +} +.clickable { + cursor: pointer !important; +} +.required { + color: #da4d4d; +} +.accent { + color: #da4d4d; +} +.text-uppercase { + text-transform: uppercase; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .text-center-sm { + text-align: center; + } +} +p.lead { + margin-bottom: 40px; +} +section, +div.section { + margin-bottom: 40px; +} +.no-mb { + margin-bottom: 0 !important; +} +.mb-small { + margin-bottom: 20px !important; +} +.heading { + margin-bottom: 40px; +} +.heading h1, +.heading h2, +.heading h3, +.heading h4, +.heading h5 { + display: inline-block; + border-bottom: solid 5px #da4d4d; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; + vertical-align: middle; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.heading h1 i[class^="fa"], +.heading h2 i[class^="fa"], +.heading h3 i[class^="fa"], +.heading h4 i[class^="fa"], +.heading h5 i[class^="fa"] { + display: inline-block; + background: #da4d4d; + width: 30px; + height: 30px; + vertical-align: middle; + text-align: center; + color: #fff; + font-size: 12px; + line-height: 30px; + border-radius: 15px; +} +.icon { + display: inline-block; + width: 80px; + height: 80px; + color: #fff; + line-height: 80px; + border-radius: 40px; + border: solid 1px #fff; + font-size: 20px; +} +.icon.icon-lg { + font-size: 30px; + border-width: 2px; +} +.ul-icons { + padding-left: 10px; +} +.ul-icons li { + list-style-type: none; + line-height: 20px; + margin-bottom: 20px; +} +.ul-icons li i { + width: 20px; + height: 20px; + background: #da4d4d; + color: #fff; + text-align: center; + border-radius: 10px; + line-height: 20px; + margin-right: 10px; +} +ul.list-style-none { + list-style: none; +} +#text-page h1, +#text-page h2, +#text-page h3 { + font-weight: 700; +} +#error-page { + text-align: center; + margin-top: 40px; + margin-bottom: 100px; +} +#error-page h4 { + margin-bottom: 40px; +} +#error-page p.buttons { + margin-top: 40px; +} +.pages-listing .item { + text-align: center; +} +.pages-listing .item h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 20px; + letter-spacing: 0.08em; +} +.pages-listing .item h3 a { + color: #555555; +} +.pages-listing .item .text { + margin-bottom: 20px; +} +.pages-listing .item .text p { + color: #999999; + font-size: 12px; + margin-bottom: 20px; +} +.banner { + margin-bottom: 30px; + text-align: center; +} +.banner img { + margin: 0 auto; +} +.banner a:hover img { + opacity: 0.8; + filter: alpha(opacity=80); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.pages { + text-align: center; +} +.pages .loadMore { + text-align: center; +} +.pages .pagination { + text-align: center; +} +.features-buttons button { + margin-bottom: 20px; +} +@media (min-width: 1300px) { + body.boxed { + background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); + } + body.boxed #all { + position: relative; + background: #fff; + width: 1200px; + margin: 0 auto; + overflow: hidden; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + } +} +#top { + background: #555555; + color: #eeeeee; + padding: 10px 0; +} +#top p { + margin: 0; + font-size: 12px; +} +#top .social { + float: right; + text-align: right; +} +#top .social a { + color: #999999; + display: inline-block; + width: 24px; + height: 24px; + border-radius: 12px; + line-height: 24px; + font-size: 12px; + text-align: center; +} +#top .social a:hover { + color: #fff; + background: #da4d4d; + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#top .social a:hover.facebook { + background-color: #4460ae; +} +#top .social a:hover.gplus { + background-color: #c21f25; +} +#top .social a:hover.twitter { + background-color: #3cf; +} +#top .social a:hover.instagram { + background-color: #cd4378; +} +#top .social a:hover.email { + background-color: #4a7f45; +} +#top .login { + float: right; +} +#top .login a { + font-size: 12px; + color: #eeeeee; + margin-right: 15px; + text-decoration: none; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.10em; +} +@media (max-width: 767px) { + #top .login { + float: left; + } +} +#top.light { + background: #fff; + color: #999999; + border-bottom: solid 1px #eeeeee; +} +#top.light .login a { + color: #555555; +} +.navbar { + border: none; +} +.navbar ul.nav > li > a { + text-transform: uppercase; + text-decoration: underline; + font-weight: bold; + letter-spacing: 0.08em; + border-top: solid 5px transparent; +} +.navbar ul.nav > li > a:hover { + border-top: solid 5px #da4d4d; +} +.navbar ul.nav > li.active > a, +.navbar ul.nav > li.open > a { + text-decoration: none !important; + border-top: solid 5px #a02121; +} +@media (max-width: 768px) { + .navbar ul.nav > li.active > a, + .navbar ul.nav > li.open > a { + border-top-color: transparent; + } + .navbar ul.nav > li > a:hover { + border-top-color: transparent; + } +} +.navbar.navbar-light ul.nav > li.active > a { + border-top: solid 5px #a02121; + background: #fff !important; + color: #555555 !important; +} +.navbar.navbar-light ul.nav > li.active > a:hover { + border-top: solid 5px #a02121; +} +.navbar.navbar-light ul.nav > li > a:hover, +.navbar.navbar-light ul.nav > li.open > a:hover, +.navbar.navbar-light ul.nav > li > a:focus, +.navbar.navbar-light ul.nav > li.open > a:focus { + border-top: solid 5px #da4d4d; + background: #fff !important; + color: #555555 !important; +} +.navbar ul.dropdown-menu { + margin: 0; + padding: 0; +} +.navbar ul.dropdown-menu li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 4px 0; +} +.navbar ul.dropdown-menu li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + left: 0; +} +.navbar ul.dropdown-menu li a:hover { + color: #da4d4d; + text-decoration: none; + background: none; + left: 2px; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .navbar ul.dropdown-menu li a:hover { + left: 0; + } +} +.navbar .yamm-content h3 { + font-size: 18px; + text-transform: uppercase; + padding-bottom: 10px; + margin-top: 5px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +@media (max-width: 767px) { + .navbar .yamm-content h3 { + font-size: 14px; + } +} +.navbar .yamm-content h5 { + text-transform: uppercase; + padding-bottom: 10px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +.navbar .yamm-content ul { + margin: 0; + padding: 0; +} +.navbar .yamm-content ul li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + padding: 4px 0; +} +.navbar .yamm-content ul li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.navbar .yamm-content ul li a:hover { + color: #da4d4d; + text-decoration: none; + padding-left: 2px; +} +.navbar .yamm-content .banner { + margin-bottom: 10px; +} +.navbar .yamm-fw .dropdown-menu { + padding: 0; +} +.navbar .navbar-buttons { + float: right; +} +.navbar .navbar-buttons button, +.navbar .navbar-buttons a.btn, +.navbar .navbar-buttons .btn-default.navbar-toggle { + margin-top: 11px; + margin-bottom: 11px; + margin-left: 0; + margin-right: 5px; +} +.navbar .btn-default, +.navbar .btn-default.navbar-toggle { + color: #999999; + background-color: #fff; + margin-left: 7px; + margin-right: 0; +} +.navbar .btn-default:hover, +.navbar .btn-default.navbar-toggle:hover, +.navbar .btn-default:focus, +.navbar .btn-default.navbar-toggle:focus { + background-color: #fff; + border-color: #da4d4d; + color: #da4d4d; +} +.navbar #search { + clear: both; + border-top: solid 1px #da4d4d; + text-align: right; +} +.navbar #search form { + float: right; +} +.navbar #search form .input-group { + width: 500px; +} +@media (max-width: 768px) { + .navbar #search form .input-group { + width: 100%; + } +} +.navbar #basket-overview a { + margin-left: 7px; +} +.navbar-affixed-top { + top: -32px; +} +.navbar-affixed-top.affix-top { + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +.navbar-affixed-top.affix { + position: fixed; + width: 100%; + top: 0; + z-index: 1000; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +body.boxed .navbar-affixed-top.affix { + position: static; +} +#login-modal { + overflow: hidden; +} +#login-modal .modal-header h4 { + text-transform: uppercase; +} +#login-modal form { + margin-bottom: 20px; +} +#login-modal a { + color: #da4d4d; +} +#login-modal p { + font-weight: 300; + margin-bottom: 20px; + font-size: 13px; +} +/* buttons */ +.btn { + font-weight: 700; + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 0; +} +.input-group .btn { + font-size: 14px; +} +.btn-lg { + padding: 10px 16px; + font-size: 14px; + line-height: 1.33; + border-radius: 0; +} +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-template-main { + color: #da4d4d; + background-color: #ffffff; + border-color: #da4d4d; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + color: #da4d4d; + background-color: #e6e6e6; + border-color: #c22828; +} +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + background-image: none; +} +.btn-template-main.disabled, +.btn-template-main[disabled], +fieldset[disabled] .btn-template-main, +.btn-template-main.disabled:hover, +.btn-template-main[disabled]:hover, +fieldset[disabled] .btn-template-main:hover, +.btn-template-main.disabled:focus, +.btn-template-main[disabled]:focus, +fieldset[disabled] .btn-template-main:focus, +.btn-template-main.disabled:active, +.btn-template-main[disabled]:active, +fieldset[disabled] .btn-template-main:active, +.btn-template-main.disabled.active, +.btn-template-main[disabled].active, +fieldset[disabled] .btn-template-main.active { + background-color: #ffffff; + border-color: #da4d4d; +} +.btn-template-main .badge { + color: #ffffff; + background-color: #da4d4d; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active { + background: #da4d4d; + color: #ffffff; + border-color: #da4d4d; +} +.btn-template-transparent-primary { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + background-image: none; +} +.btn-template-transparent-primary.disabled, +.btn-template-transparent-primary[disabled], +fieldset[disabled] .btn-template-transparent-primary, +.btn-template-transparent-primary.disabled:hover, +.btn-template-transparent-primary[disabled]:hover, +fieldset[disabled] .btn-template-transparent-primary:hover, +.btn-template-transparent-primary.disabled:focus, +.btn-template-transparent-primary[disabled]:focus, +fieldset[disabled] .btn-template-transparent-primary:focus, +.btn-template-transparent-primary.disabled:active, +.btn-template-transparent-primary[disabled]:active, +fieldset[disabled] .btn-template-transparent-primary:active, +.btn-template-transparent-primary.disabled.active, +.btn-template-transparent-primary[disabled].active, +fieldset[disabled] .btn-template-transparent-primary.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active { + background: #fff; + color: #da4d4d; + border-color: #fff; +} +.btn-template-transparent-black { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + background-image: none; +} +.btn-template-transparent-black.disabled, +.btn-template-transparent-black[disabled], +fieldset[disabled] .btn-template-transparent-black, +.btn-template-transparent-black.disabled:hover, +.btn-template-transparent-black[disabled]:hover, +fieldset[disabled] .btn-template-transparent-black:hover, +.btn-template-transparent-black.disabled:focus, +.btn-template-transparent-black[disabled]:focus, +fieldset[disabled] .btn-template-transparent-black:focus, +.btn-template-transparent-black.disabled:active, +.btn-template-transparent-black[disabled]:active, +fieldset[disabled] .btn-template-transparent-black:active, +.btn-template-transparent-black.disabled.active, +.btn-template-transparent-black[disabled].active, +fieldset[disabled] .btn-template-transparent-black.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active { + background: #fff; + color: #000; + border-color: #fff; +} +.btn-template-primary { + color: #ffffff; + background-color: #da4d4d; + border-color: #da4d4d; +} +.btn-template-primary:hover, +.btn-template-primary:focus, +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + color: #ffffff; + background-color: #ca2a2a; + border-color: #c22828; +} +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + background-image: none; +} +.btn-template-primary.disabled, +.btn-template-primary[disabled], +fieldset[disabled] .btn-template-primary, +.btn-template-primary.disabled:hover, +.btn-template-primary[disabled]:hover, +fieldset[disabled] .btn-template-primary:hover, +.btn-template-primary.disabled:focus, +.btn-template-primary[disabled]:focus, +fieldset[disabled] .btn-template-primary:focus, +.btn-template-primary.disabled:active, +.btn-template-primary[disabled]:active, +fieldset[disabled] .btn-template-primary:active, +.btn-template-primary.disabled.active, +.btn-template-primary[disabled].active, +fieldset[disabled] .btn-template-primary.active { + background-color: #da4d4d; + border-color: #da4d4d; +} +.btn-template-primary .badge { + color: #da4d4d; + background-color: #ffffff; +} +#intro { + background: url('../img/home.jpg') no-repeat center top; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} +#intro .item { + font-family: "Roboto", Helvetica, Arial, sans-serif; + height: 100%; +} +#intro .item h1 { + text-transform: uppercase; + font-size: 50px; + color: #fff; + margin-bottom: 40px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #intro .item h1 { + font-size: 40px; + } +} +@media (max-width: 767px) { + #intro .item h1 { + font-size: 25px; + } +} +#intro .item h3 { + color: #fff; + margin-bottom: 40px; +} +@media (max-width: 767px) { + #intro .item h3 { + font-size: 15px; + margin-bottom: 20px; + } +} +#intro .item .btn { + text-transform: none; +} +@media (max-width: 991px) { + #intro .item .btn { + font-size: 14px; + } +} +@media (max-width: 991px) { + #intro .item .carousel-caption { + left: 10%; + right: 10%; + } +} +#intro .container, +#intro .row { + height: 100%; + position: relative; +} +.jumbotron { + padding: 30px; + margin-bottom: 0; + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.jumbotron .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #da4d4d; + opacity: 0.9; + filter: alpha(opacity=90); +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3, +.jumbotron p, +.jumbotron ul { + color: #fff; +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3 { + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.jumbotron p { + margin-bottom: 20px; + font-size: 21px; + font-weight: 400; +} +.jumbotron p.text-uppercase { + font-weight: 700; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 0; +} +.jumbotron .container { + max-width: 100%; + z-index: 2; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 46px; + } +} +#categoryMenu h3 { + padding: 20px; + background: #f7f7f7; + margin: 0; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.panel.sidebar-menu h3 { + padding: 5px 0; + margin: 0; +} +.panel.sidebar-menu { + background: #fff; + margin: 0 0 20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.panel.sidebar-menu .panel-heading { + text-transform: uppercase; + margin-bottom: 10px; + background: none; + padding: 0; + letter-spacing: 0.08em; + border-bottom: none; +} +.panel.sidebar-menu .panel-heading h1, +.panel.sidebar-menu .panel-heading h2, +.panel.sidebar-menu .panel-heading h3, +.panel.sidebar-menu .panel-heading h4, +.panel.sidebar-menu .panel-heading h5 { + display: inline-block; + border-bottom: solid 5px #da4d4d; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; +} +.panel.sidebar-menu .panel-heading .btn.btn-danger { + color: #fff; + margin-top: 5px; +} +.panel.sidebar-menu .panel-body { + padding: 0; +} +.panel.sidebar-menu .panel-body span.colour { + display: inline-block; + width: 15px; + height: 15px; + border: solid 1px #555555; + vertical-align: top; + margin-top: 2px; + margin-left: 5px; +} +.panel.sidebar-menu .panel-body span.colour.white { + background: #fff; +} +.panel.sidebar-menu .panel-body span.colour.red { + background: red; +} +.panel.sidebar-menu .panel-body span.colour.green { + background: green; +} +.panel.sidebar-menu .panel-body span.colour.blue { + background: blue; +} +.panel.sidebar-menu .panel-body span.colour.yellow { + background: yellow; +} +.panel.sidebar-menu .panel-body label { + color: #999999; + font-size: 12px; +} +.panel.sidebar-menu .panel-body label:hover { + color: #555555; +} +.panel.sidebar-menu ul.nav.category-menu { + margin-bottom: 20px; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.08em; +} +.panel.sidebar-menu ul.nav.category-menu li a { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.panel.sidebar-menu ul.nav ul { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.nav ul li { + display: block; +} +.panel.sidebar-menu ul.nav ul li a { + position: relative; + font-family: "Times New Roman", Times, serif; + font-weight: normal; + text-transform: none !important; + display: block; + padding: 10px 15px; + padding-left: 30px; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.nav ul li a:hover, +.panel.sidebar-menu ul.nav ul li a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.panel.sidebar-menu ul.tag-cloud { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.tag-cloud li { + display: inline-block; +} +.panel.sidebar-menu ul.tag-cloud li a { + display: inline-block; + padding: 5px; + border: solid 1px #eeeeee; + border-radius: 0; + color: #da4d4d; + margin: 5px 5px 5px 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + font-size: 12px; + text-decoration: none; +} +.panel.sidebar-menu ul.tag-cloud li a:hover { + color: #da4d4d; + border-color: #da4d4d; +} +.panel.sidebar-menu ul.tag-cloud li.active a { + color: #FFFFFF; + background-color: #da4d4d; +} +.panel.sidebar-menu ul.tag-cloud li.active a:hover { + color: #FFFFFF; +} +.panel.sidebar-menu ul.popular, +.panel.sidebar-menu ul.recent { + list-style: none; + padding-left: 0; + padding: 20px 0; +} +.panel.sidebar-menu ul.popular li, +.panel.sidebar-menu ul.recent li { + margin-bottom: 10px; + padding: 5px 0; + border-bottom: dotted 1px #eeeeee; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li img, +.panel.sidebar-menu ul.recent li img { + width: 50px; + margin-right: 10px; +} +.panel.sidebar-menu ul.popular li h5, +.panel.sidebar-menu ul.recent li h5 { + margin: 0 0 10px; +} +.panel.sidebar-menu ul.popular li h5 a, +.panel.sidebar-menu ul.recent li h5 a { + font-weight: normal; +} +.panel.sidebar-menu ul.popular li p.date, +.panel.sidebar-menu ul.recent li p.date { + float: right; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.popular li:last-child, +.panel.sidebar-menu ul.recent li:last-child { + border-bottom: none; +} +.panel.sidebar-menu .text-widget { + font-size: 12px; +} +.panel.sidebar-menu.with-icons ul.nav li a:after { + font-family: 'FontAwesome'; + content: "\f105"; + position: relative; + top: 0; + float: right; +} +/* ribbons for product sales etc. */ +.ribbon { + position: absolute; + top: 50px; + padding-left: 51px; + font-weight: 700; + letter-spacing: 0.08em; +} +.ribbon .ribbon-background { + position: absolute; + top: 0; + right: 0; +} +.ribbon .theribbon { + position: relative; + width: 80px; + padding: 6px 20px 6px 20px; + margin: 30px 10px 10px -71px; + color: #fff; + background-color: #da4d4d; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.ribbon .theribbon:before, +.ribbon .theribbon:after { + content: ' '; + position: absolute; + width: 0; + height: 0; +} +.ribbon .theribbon:after { + left: 0px; + top: 100%; + border-width: 5px 10px; + border-style: solid; + border-color: #000000 #000000 transparent transparent; +} +.ribbon.sale { + top: 0; +} +.ribbon.new { + top: 50px; +} +.ribbon.new .theribbon { + background-color: #5bc0de; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.new .theribbon:after { + border-color: #2390b0 #2390b0 transparent transparent; +} +.ribbon.gift { + top: 100px; +} +.ribbon.gift .theribbon { + background-color: #5cb85c; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.gift .theribbon:after { + border-color: #357935 #357935 transparent transparent; +} +.owl-carousel .owl-controls .owl-page.active span, +.owl-theme .owl-controls .owl-page.active span, +.owl-carousel .owl-controls.clickable .owl-page:hover span, +.owl-theme .owl-controls.clickable .owl-page:hover span { + background: #da4d4d; +} +.owl-carousel .owl-controls .owl-buttons, +.owl-theme .owl-controls .owl-buttons { + position: absolute; + top: 5px; + right: 0; +} +.owl-carousel .owl-controls .owl-buttons div, +.owl-theme .owl-controls .owl-buttons div { + width: 26px; + height: 26px; + line-height: 25px; + margin: 0 5px 0 0; + font-size: 18px; + color: #da4d4d; + padding: 0; + background: #fff; + border-radius: 13px; + vertical-align: middle; + text-align: center; + opacity: 1; + filter: alpha(opacity=100); +} +.home-carousel { + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.home-carousel .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #da4d4d; + opacity: 0.9; + filter: alpha(opacity=90); +} +.home-carousel .owl-carousel { + padding-top: 60px; + padding-bottom: 20px; +} +.home-carousel .owl-theme .owl-controls .owl-page span { + background: #666; +} +.home-carousel .owl-theme .owl-controls .owl-page.active span { + background: #fff; +} +.home-carousel .owl-theme .owl-controls .owl-page:hover span { + background: #fff; +} +@media (max-width: 767px) { + .home-carousel { + text-align: center !important; + } +} +@media (min-width: 992px) { + .home-carousel .right { + text-align: right; + } +} +.home-carousel h1, +.home-carousel h2, +.home-carousel h3, +.home-carousel p, +.home-carousel ul { + color: #fff; +} +.home-carousel h1 { + font-weight: 700; + text-transform: uppercase; + font-size: 46px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .home-carousel h1 { + font-size: 36px; + } +} +.home-carousel h2 { + font-weight: 700; + text-transform: uppercase; + font-size: 40px; + letter-spacing: 0.08em; +} +.home-carousel ul, +.home-carousel p { + font-size: 18px; + font-weight: 700; + padding: 0; + text-transform: uppercase; + letter-spacing: 0.10em; +} +@media (max-width: 991px) { + .home-carousel ul, + .home-carousel p { + font-size: 14px; + } +} +.home-carousel ul li { + margin-bottom: 10px; +} +.customers { + padding: 0; + margin-bottom: 40px; +} +.customers .item { + list-style-type: none; + text-align: center; + margin: 0 20px; +} +.customers .item img { + display: inline-block; + filter: url("data:image/svg+xml;utf8,#grayscale"); + /* Firefox 10+, Firefox on Android */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+, Safari 6+, Safari 6+ iOS */ + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.customers .item img:hover { + max-width: auto; + filter: none; + -webkit-filter: none; +} +.testimonials { + padding: 0; + margin-bottom: 40px; +} +.testimonials .item { + list-style-type: none; + margin: 0 5px; + background: #fff; + padding-bottom: 60px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.testimonials .item .testimonial { + position: relative; + padding: 20px; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial .text { + color: #999999; + margin-bottom: 40px; +} +.testimonials .item .testimonial .bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + height: 50px; +} +.testimonials .item .testimonial .bottom .icon { + color: #da4d4d; + font-size: 30px; + float: left; + width: 20%; +} +.testimonials .item .testimonial .name-picture { + float: right; + width: 80%; + text-align: right; +} +.testimonials .item .testimonial .name-picture h5 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.testimonials .item .testimonial .name-picture p { + color: #999999; + margin: 0; + font-size: 12px; +} +.testimonials .item .testimonial .name-picture img { + float: right; + width: 60px; + border-radius: 30px; + margin-left: 10px; +} +.team-member { + text-align: center; + margin-bottom: 40px; +} +.team-member h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 5px; + letter-spacing: 0.08em; +} +.team-member h3 a { + color: #555555; +} +.team-member p.role { + color: #999999; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.team-member .social { + margin-bottom: 20px; +} +.team-member .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email { + background-color: #4a7f45; +} +.team-member .text p { + color: #999999; + font-size: 12px; +} +.team-member .social, +.team-member-detail .social { + margin-bottom: 20px; +} +.team-member .social a, +.team-member-detail .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i, +.team-member-detail .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook, +.team-member-detail .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus, +.team-member-detail .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter, +.team-member-detail .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram, +.team-member-detail .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email, +.team-member-detail .social a.email { + background-color: #4a7f45; +} +.box-simple { + text-align: center; + margin-bottom: 40px; +} +.box-simple .icon { + color: #da4d4d; + border-color: #da4d4d; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.box-simple h3 { + font-weight: normal; + font-size: 18px; + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-simple h3 a { + color: #555555; +} +.box-simple p { + color: #999999; +} +.box-simple:hover .icon { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.box-simple:hover .icon i { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.box-simple.box-white { + padding: 20px; + border: dotted 1px #999999; +} +.box-simple.box-white .icon { + color: #555555; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark { + padding: 20px; + border: dotted 1px #999999; + background: #555555; + color: #fff; +} +.box-simple.box-dark .icon { + color: #f7f7f7; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark h3 { + color: #fff; +} +.box-simple.box-dark h3 a { + color: #fff; +} +.box-simple.box-dark p { + color: #fff; +} +.box-image { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #da4d4d; +} +.box-image .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +.box-image-text { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image-text .top { + position: relative; + margin-bottom: 10px; +} +.box-image-text .top .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #da4d4d; +} +.box-image-text .top .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .top .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image-text .top .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image-text .top .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .content h3, +.box-image-text .content h4 { + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-image-text .content p { + color: #999999; +} +.box-image-text:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image-text:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image-text:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +/* universal box */ +.box { + background: #fff; + margin: 0 0 30px; + border: solid 1px #ccc; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px 0; + border-left: none; + border-right: none; +} +.box .box-header { + background: #f7f7f7; + margin: -20px 0 20px; + padding: 20px; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-footer { + background: #f7f7f7; + margin: 30px 0 -20px; + padding: 20px; + border-top: solid 1px #eeeeee; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +@media (max-width: 991px) { + .box .box-footer .btn { + margin-bottom: 20px; + } +} +.box.no-border { + border: none; +} +#heading-breadcrumbs { + background: url('../img/texture-bw.png') center center repeat; + padding: 20px 0; + margin-bottom: 40px; +} +#heading-breadcrumbs.no-mb { + margin-bottom: 0; +} +#heading-breadcrumbs h1 { + color: #333333; + text-transform: uppercase; + font-size: 30px; + font-weight: 700; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #heading-breadcrumbs h1 { + text-align: center; + } +} +#heading-breadcrumbs ul.breadcrumb { + margin-top: 5px; + margin-bottom: 0; +} +.bar { + position: relative; + background: #da4d4d; + padding: 60px 0; +} +.bar.background-pentagon { + background: url('../img/texture-bw.png') center center repeat; + border-top: solid 1px #999999; + border-bottom: solid 1px #999999; +} +.bar.background-gray { + background: #eeeeee; +} +.bar.background-gray-dark { + background: #555555; +} +.bar.background-white { + background: #fff; +} +.bar.background-image-fixed-1 { + background: url('../img/fixed-background-1.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.background-image-fixed-2 { + background: url('../img/fixed-background-2.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.color-white h1, +.bar.color-white h2, +.bar.color-white h3, +.bar.color-white h4, +.bar.color-white h5, +.bar.color-white h6, +.bar.color-white p { + color: #fff; +} +.bar.padding-big { + padding: 50px 0; +} +.bar.padding-horizontal { + padding-left: 30px; + padding-right: 30px; +} +.bar.margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.bar .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0.3; + filter: alpha(opacity=30); +} +.portfolio.no-space { + padding: 0 15px; +} +.portfolio.no-space .box-image { + margin: 0 -15px; +} +.portfolio-project .project-more h4 { + color: #555555; + text-transform: uppercase; + margin-bottom: 0; + text-align: left; + font-size: 14px; + letter-spacing: 0.08em; +} +.portfolio-project .project-more p { + color: #999999; + padding: 10px 0; + margin-bottom: 20px; + text-align: left; +} +.portfolio-showcase { + margin: 15px 0 60px; +} +.portfolio-showcase h3 a { + text-transform: uppercase; + line-height: 1.5; + letter-spacing: 0.08em; +} +.portfolio-showcase p.lead { + color: #555555; + margin-bottom: 20px; +} +.portfolio-showcase p { + color: #999999; +} +.portfolio-showcase p.buttons { + margin-top: 40px; +} +.see-more { + text-align: center; + margin-top: 20px; + padding-top: 20px; +} +.see-more p { + font-size: 28px; + font-weight: 100; + margin-bottom: 20px; +} +.showcase .item { + text-align: center; +} +.showcase .item .icon { + display: inline-block; + width: 50px; + height: 50px; + color: #555555; + line-height: 50px; + border-radius: 25px; + border: solid 1px #555555; +} +.showcase .item h4 { + color: #555555; + text-transform: uppercase; + letter-spacing: 0.08em; + line-height: 1.5; + font-size: 16px; +} +.showcase .item h4 span { + font-weight: bold; + font-size: 51px; +} +.packages .package { + background: #fff; + margin-top: 25px; + margin-bottom: 20px; + padding-bottom: 15px; + text-align: center; + border: solid 1px #da4d4d; + overflow: hidden; +} +.packages .package .package-header { + height: 57px; + color: #fff; + line-height: 57px; + background: #da4d4d; +} +.packages .package .package-header h5 { + color: #fff; + text-transform: uppercase; + font-weight: bold; + line-height: 57px; + margin: 0; + letter-spacing: 0.08em; +} +.packages .package .package-header.light-gray { + background: #eeeeee; +} +.packages .package .package-header.light-gray h5 { + color: #555555; +} +.packages .package .price { + line-height: 120px; + height: 100px; + color: #fff; + font-weight: 400; +} +.packages .package .price h4 { + display: inline; + font-size: 50px; + line-height: normal; + margin-bottom: 0; +} +.packages .package .price .period { + line-height: normal; + color: #999999; +} +.packages .package ul { + padding: 0; +} +.packages .package ul li { + list-style-type: none; + padding-top: 10px; + padding-bottom: 10px; + width: 80%; + margin: auto; + border-bottom: 1px dotted #ccc; +} +.packages .package ul li:last-child { + border-bottom: 0; +} +.packages .package ul li i { + font-size: 13px; + margin-right: 5px; +} +.packages .best-value .package { + margin-top: 0; + padding-bottom: 40px; +} +.packages .best-value .package .package-header { + height: 72px; + padding-top: 17px; + height: 82px !important; +} +.packages .best-value .package .package-header h5 { + font-weight: bold; + line-height: 29px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.packages .best-value .package .package-header .meta-text { + font-size: 13px; + line-height: 15px; +} +#map { + height: 300px; +} +#map.with-border { + border-top: solid 1px #da4d4d; + border-bottom: solid 1px #da4d4d; +} +#blog-listing-big .post, +#blog-homepage .post { + margin-bottom: 60px; +} +#blog-listing-big .post h2, +#blog-homepage .post h2, +#blog-listing-big .post h4, +#blog-homepage .post h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#blog-listing-big .post h2 a, +#blog-homepage .post h2 a, +#blog-listing-big .post h4 a, +#blog-homepage .post h4 a { + color: #555555; +} +#blog-listing-big .post h2 a:hover, +#blog-homepage .post h2 a:hover, +#blog-listing-big .post h4 a:hover, +#blog-homepage .post h4 a:hover { + color: #da4d4d; +} +#blog-listing-big .post .author-category, +#blog-homepage .post .author-category { + color: #999999; + text-transform: uppercase; + font-weight: 300; + letter-spacing: 0.08em; +} +#blog-listing-big .post .author-category a, +#blog-homepage .post .author-category a { + font-weight: 500; +} +#blog-listing-big .post .date-comments a, +#blog-homepage .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-big .post .date-comments a:hover, +#blog-homepage .post .date-comments a:hover { + color: #da4d4d; +} +@media (min-width: 768px) { + #blog-listing-big .post .date-comments, + #blog-homepage .post .date-comments { + text-align: right; + } +} +#blog-listing-big .post .intro, +#blog-homepage .post .intro { + text-align: left; +} +#blog-listing-big .post .image, +#blog-homepage .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-big .post .image img, +#blog-homepage .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-big .post .image img.img-responsive, + #blog-homepage .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-big .post .video, +#blog-homepage .post .video { + margin-bottom: 10px; +} +#blog-listing-big .post .read-more, +#blog-homepage .post .read-more { + text-align: right; +} +#blog-listing-medium .post { + margin-bottom: 60px; +} +#blog-listing-medium .post h2 { + text-transform: uppercase; + margin: 0 0 10px; + font-size: 24px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post h2 a { + color: #555555; +} +#blog-listing-medium .post h2 a:hover { + color: #da4d4d; +} +#blog-listing-medium .post .author-category { + float: left; + color: #999999; + text-transform: uppercase; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post .author-category a { + font-weight: 500; +} +#blog-listing-medium .post .date-comments { + float: right; + font-size: 12px; +} +#blog-listing-medium .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-medium .post .date-comments a:hover { + color: #da4d4d; +} +@media (min-width: 768px) { + #blog-listing-medium .post .date-comments { + text-align: right; + } +} +#blog-listing-medium .post .intro { + text-align: left; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-medium .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-medium .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-medium .post .video { + margin-bottom: 10px; +} +#blog-listing-medium .post .read-more { + text-align: right; +} +.box-image-text.blog .author-category { + color: #999999; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 300; + font-size: 12px; +} +.box-image-text.blog .author-category a { + font-weight: 500; +} +.box-image-text.blog .intro { + text-align: left; + margin-bottom: 20px; +} +#blog-homepage .post { + margin-bottom: 30px; +} +#blog-homepage .post h2, +#blog-homepage .post h4, +#blog-homepage .post .author-category, +#blog-homepage .post .read-more { + text-align: center; +} +#blog-homepage .post .read-more { + margin-top: 20px; +} +#blog-post #post-content { + margin-bottom: 20px; +} +#blog-post .comment { + margin-bottom: 25px; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment .posted { + color: #999999; + font-size: 12px; +} +#blog-post .comment .reply { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#blog-post .comment.last { + margin-bottom: 0; +} +#blog-post #comments, +#blog-post #comment-form { + padding: 20px 0; + margin-top: 20px; + border-top: solid 1px #eeeeee; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments h4, +#blog-post #comment-form h4 { + margin-bottom: 20px; +} +#blog-post #comment-form { + margin-bottom: 20px; +} +.product { + background: #fff; + border-bottom: solid 1px #e6e6e6; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 60px; + overflow: hidden; + text-align: center; +} +.product .image { + overflow: hidden; +} +.product .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .product .image img.img-responsive { + min-width: 100%; + } +} +.product .text { + padding: 10px; +} +.product .text h3 { + font-size: 14px; + font-weight: 700; + height: 39.6px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.product .text h3 a { + color: #555555; +} +.product .text h3 a:hover { + text-decoration: none; +} +.product .text p.price { + font-size: 18px; +} +.product .text p.price del { + color: #999999; +} +.product .buttons { + clear: both; + position: absolute; + display: none; + bottom: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: solid 1px transparent; + padding: 20px; + background: rgba(255, 255, 255, 0.9); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + text-align: center; +} +.product .buttons .btn { + margin-bottom: 20px; +} +.product:hover { + border-bottom: solid 1px #808080; + top: 0; +} +.product:hover .buttons { + clear: both; + position: absolute; + top: 0; + background: rgba(255, 255, 255, 0.5); +} +.product:hover .image img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.goToDescription { + font-size: 12px; + text-align: center; + margin-bottom: 40px; +} +.goToDescription a { + color: #999999; + text-decoration: underline; +} +#productMain { + margin-bottom: 30px; +} +#productMain .sizes { + text-align: center; +} +#productMain .sizes h3 { + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 40px; +} +#productMain .sizes a { + display: inline-block; + width: 40px; + height: 40px; + border-radius: 40px; + background: #ccc; + line-height: 40px; + color: #555555; + text-align: center; + text-decoration: none; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#productMain .sizes a.active, +#productMain .sizes a:hover { + background: #da4d4d; + color: #fff; +} +#productMain .sizes input { + display: none; +} +#productMain .price { + font-size: 40px; + text-align: center; + margin-top: 40px; + margin-bottom: 40px; +} +#thumbs a { + display: block; + border: solid 1px transparent; +} +#thumbs a.active { + border-color: #da4d4d; +} +#product-social { + text-align: center; +} +#product-social h4 { + font-weight: 300; + margin-bottom: 10px; +} +#product-social p { + line-height: 26px; +} +#product-social p a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +#product-social p a i { + vertical-align: bottom; + line-height: 26px; +} +#product-social p a.facebook { + background-color: #4460ae; +} +#product-social p a.gplus { + background-color: #c21f25; +} +#product-social p a.twitter { + background-color: #3cf; +} +#product-social p a.instagram { + background-color: #cd4378; +} +#product-social p a.email { + background-color: #4a7f45; +} +@media (max-width: 991px) { + #product-social { + text-align: center; + } +} +#checkout .nav { + margin-bottom: 20px; + border-bottom: solid 1px #da4d4d; +} +#checkout .nav li { + height: 100%; +} +#checkout .nav li a { + display: block; + height: 100%; +} +#order-summary table { + margin-top: 20px; +} +#order-summary table td { + color: #999999; +} +#order-summary table tr.total td, +#order-summary table tr.total th { + font-size: 18px; + color: #555555; + font-weight: 700; +} +#checkout .table tbody tr td, +#basket .table tbody tr td, +#customer-order .table tbody tr td { + vertical-align: middle; +} +#checkout .table tbody tr td input, +#basket .table tbody tr td input, +#customer-order .table tbody tr td input { + width: 50px; + text-align: right; +} +#checkout .table tbody tr td img, +#basket .table tbody tr td img, +#customer-order .table tbody tr td img { + width: 50px; +} +#checkout .table tfoot, +#basket .table tfoot, +#customer-order .table tfoot { + font-size: 18px; +} +.shipping-method h4, +.payment-method h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#customer-orders table tr th, +#customer-orders table tr td { + vertical-align: baseline; +} +#customer-order .table tfoot th { + font-size: 18px; + font-weight: 300; +} +#customer-order .addresses { + text-align: right; + margin-bottom: 30px; +} +#customer-order .addresses p { + font-size: 18px; + font-weight: 300; +} +#customer-account { + margin-bottom: 30px; +} +#get-it { + background: #da4d4d; + padding: 50px 0 30px; + color: #fff; + text-align: center; +} +#get-it h1, +#get-it h2, +#get-it h3, +#get-it h4, +#get-it h5, +#get-it h6 { + color: #fff; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 0 0 20px; +} +#get-it p { + margin: 0 0 20px; +} +#footer { + background: #555555; + padding: 50px 0; + color: #999999; +} +#footer h1, +#footer h2, +#footer h3, +#footer h4, +#footer h5, +#footer h6 { + color: #eeeeee; +} +#footer h4 { + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} +#footer ul { + padding-left: 0; + list-style: none; +} +#footer ul a { + color: #999999; +} +#footer ul a:hover { + color: #da4d4d; + text-decoration: none; +} +#footer .photostream div { + float: left; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 33%; + padding: 7.5px; + overflow: hidden; +} +#footer .photostream div a { + border: solid 1 px #eeeeee; +} +#footer .photostream div img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#footer .photostream div:hover img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +#footer .blog-entries .item { + clear: both; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: solid 1px #555555; +} +#footer .blog-entries .item .image { + float: left; + width: 15%; + margin-right: 10px; +} +#footer .blog-entries .item .name { + width: 75%; + margin-left: 10px; + display: table-cell; + vertical-align: middle; +} +#footer .blog-entries .item .name h5 { + margin: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 12px; +} +#footer .blog-entries .item .name h5 a { + color: #eeeeee; +} +#footer .blog-entries .item .text { + width: 100%; + clear: both; +} +#footer .blog-entries .item:last-child { + border-bottom: none; + margin-bottom: 0; +} +#footer .social a { + color: #555555; + font-size: 25px; + margin: 0 10px 0 0; +} +#footer .social a:hover { + color: #da4d4d; +} +#copyright { + background: #333; + color: #ccc; + padding: 50px 0; + font-size: 12px; + line-height: 28px; +} +#copyright p { + margin: 0; +} +@media (max-width: 991px) { + #copyright p { + float: none !important; + text-align: center; + margin-bottom: 10px; + } +} +[data-animate] { + opacity: 0; + filter: alpha(opacity=0); +} +#style-switch-button { + position: fixed; + top: 100px; + left: 0px; + border-radius: 0; +} +#style-switch { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 300px; + padding: 20px; + position: fixed; + top: 140px; + left: 0; + background: #fff; + border: solid 1px #eeeeee; +} +@media (max-width: 991px) { + #style-switch-button { + display: none; + } + #style-switch { + display: none; + } +} +/* Original Boostrap template overwrite */ +/* breadcrumbs */ +.breadcrumb { + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + background-color: none; + letter-spacing: 0.08em; +} +/* nav */ +.nav > li > a { + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #da4d4d; +} +.nav-tabs { + border-bottom: 1px solid #da4d4d; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #da4d4d; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #da4d4d; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: solid 1px #da4d4d; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #da4d4d; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #da4d4d; + border-radius: 0 0 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 0; +} +.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: #ffffff; + background-color: #da4d4d; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; + border-bottom: solid 1px #da4d4d; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #da4d4d; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #da4d4d; + border-radius: 0 0 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content { + padding: 15px; + border: solid 1px #ddd; + border-top: none; +} +/* navbar */ +.navbar { + position: relative; + min-height: 62px; + margin-bottom: 0; + border-bottom: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; +} +.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-affixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-affixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@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: 10px 15px; + font-size: 18px; + line-height: 20px; + height: 62px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@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: 14px; + margin-bottom: 14px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-nav { + margin: 10.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .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: 20px; + } + .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: 21px; + padding-bottom: 21px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 14px; + margin-bottom: 14px; +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.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 { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-btn.btn-sm { + margin-top: 16px; + margin-bottom: 16px; +} +.navbar-btn.btn-xs { + margin-top: 20px; + margin-bottom: 20px; +} +.navbar-text { + margin-top: 21px; + margin-bottom: 21px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: #cccccc; + border-bottom: none; +} +.navbar-default .navbar-brand { + color: #555555; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #3b3b3b; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #555555; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #555555; + background-color: #eca1a1; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #da4d4d; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #da4d4d; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #cccccc; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #da4d4d; + color: #ffffff; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #555555; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #da4d4d; + } + .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: #ffffff; + background-color: #da4d4d; + } + .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: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #555555; +} +.navbar-default .navbar-link:hover { + color: #555555; +} +.navbar-default .btn-link { + color: #555555; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #555555; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +/* scaffolding */ +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +a { + color: #da4d4d; + text-decoration: none; +} +a:hover, +a:focus { + color: #b52626; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.img-rounded { + border-radius: 0; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +/* breadcrumbs */ +.breadcrumb { + padding: 20px 0; + margin-bottom: 20px; + background-color: transparent; + border-radius: 0; + text-align: right; +} +.breadcrumb > li + li:before { + content: ">\00a0"; + color: #555555; +} +.breadcrumb > .active { + color: #999999; +} +@media (max-width: 991px) { + .breadcrumb { + padding: 20px 0; + text-align: center; + } +} +/* dropdowns */ +.dropdown-menu { + z-index: 1000; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + padding: 5px 20px; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +/* labels */ +.label { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: normal; + text-transform: uppercase; + letter-spacing: 0.08em; +} +/* forms.less */ +label { + font-weight: normal; +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; +} +.form-control:focus { + border-color: #da4d4d; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(218, 77, 77, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(218, 77, 77, 0.6); +} +.form-group { + margin-bottom: 20px; +} +/* pager*/ +.pager { + margin: 20px 0; + border-top: solid 1px #eeeeee; + padding-top: 20px; + text-transform: uppercase; + letter-spacing: 0.08em; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + background-color: #ffffff; + border: 1px solid #da4d4d; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + color: #fff; + background-color: #da4d4d; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: #ddd; +} +/* pagination */ +.pagination { + margin: 20px 0; + font-family: "Roboto", Helvetica, Arial, sans-serif; + border-radius: 0; +} +.pagination > li > a, +.pagination > li > span { + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #da4d4d; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #da4d4d; + background-color: #f4cccc; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #da4d4d; + border-color: #da4d4d; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: #dddddd; +} +/* responsive utilities */ +@media (max-width: 767px) { + .text-center-xs { + text-align: center !important; + } + .text-center-xs img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .text-center-sm { + text-align: center !important; + } + .text-center-sm img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +/* type */ +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: 900; + line-height: 1.1; + color: #333333; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 20px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 18px; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +.text-small { + font-size: 12px; +} +.text-large { + font-size: 18px; +} +.text-italic { + font-style: italic; +} +.text-primary { + color: #da4d4d; +} +a.text-primary:hover { + color: #ca2a2a; +} +.bg-primary { + color: #fff; + background-color: #da4d4d; +} +a.bg-primary:hover { + background-color: #ca2a2a; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 1px dotted #999999; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 14px; + border-left: 5px solid #da4d4d; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + border-right: 5px solid #da4d4d; +} +address { + margin-bottom: 20px; + line-height: 1.42857143; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 0 0; + box-shadow: 0 0 0; +} +.panel-heading { + border-top-right-radius: 0; + border-top-left-radius: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 15px 15px; +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group.accordion .panel { + border-color: #ccc; +} +.panel-primary { + border-color: #da4d4d; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #da4d4d; + border-color: #da4d4d; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #da4d4d; +} +.panel-primary > .panel-heading .badge { + color: #da4d4d; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #da4d4d; +} +.panel-primary .panel-title { + font-weight: 300; +} +.panel-primary .panel-title a:hover { + color: #fff; + text-decoration: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #da4d4d; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.progress-bar-primary { + background-color: #da4d4d; +} +.progress-striped .progress-bar-primary { + 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); +} +/*! + * Yamm!3 - Yet another megamenu for Bootstrap 3 + * http://geedmo.github.com/yamm3 + * + * @geedmo - Licensed under the MIT license + */ +.yamm .nav, +.yamm .collapse, +.yamm .dropup.use-yamm, +.yamm .dropdown.use-yamm { + position: static; +} +.yamm .container { + position: relative; +} +.yamm .dropdown-menu { + left: auto; +} +.yamm .nav.navbar-right .dropdown-menu { + left: auto; + right: 0; +} +.yamm .yamm-content { + padding: 20px 30px; +} +.yamm .dropdown.yamm-fw .dropdown-menu { + left: 15px; + right: 15px; +} diff --git a/public/css/style.turquoise.css b/public/css/style.turquoise.css new file mode 100644 index 0000000..cfdc204 --- /dev/null +++ b/public/css/style.turquoise.css @@ -0,0 +1,3566 @@ +.clearfix:before, +.clearfix:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; +} +.clearfix:after, +.navbar:after, +.navbar-header: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; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* general styles */ +a, +button { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +a i[class^="fa"], +button i[class^="fa"] { + margin: 0 5px; +} +.clickable { + cursor: pointer !important; +} +.required { + color: #4fbfa8; +} +.accent { + color: #4fbfa8; +} +.text-uppercase { + text-transform: uppercase; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .text-center-sm { + text-align: center; + } +} +p.lead { + margin-bottom: 40px; +} +section, +div.section { + margin-bottom: 40px; +} +.no-mb { + margin-bottom: 0 !important; +} +.mb-small { + margin-bottom: 20px !important; +} +.heading { + margin-bottom: 40px; +} +.heading h1, +.heading h2, +.heading h3, +.heading h4, +.heading h5 { + display: inline-block; + border-bottom: solid 5px #4fbfa8; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; + vertical-align: middle; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.heading h1 i[class^="fa"], +.heading h2 i[class^="fa"], +.heading h3 i[class^="fa"], +.heading h4 i[class^="fa"], +.heading h5 i[class^="fa"] { + display: inline-block; + background: #4fbfa8; + width: 30px; + height: 30px; + vertical-align: middle; + text-align: center; + color: #fff; + font-size: 12px; + line-height: 30px; + border-radius: 15px; +} +.icon { + display: inline-block; + width: 80px; + height: 80px; + color: #fff; + line-height: 80px; + border-radius: 40px; + border: solid 1px #fff; + font-size: 20px; +} +.icon.icon-lg { + font-size: 30px; + border-width: 2px; +} +.ul-icons { + padding-left: 10px; +} +.ul-icons li { + list-style-type: none; + line-height: 20px; + margin-bottom: 20px; +} +.ul-icons li i { + width: 20px; + height: 20px; + background: #4fbfa8; + color: #fff; + text-align: center; + border-radius: 10px; + line-height: 20px; + margin-right: 10px; +} +ul.list-style-none { + list-style: none; +} +#text-page h1, +#text-page h2, +#text-page h3 { + font-weight: 700; +} +#error-page { + text-align: center; + margin-top: 40px; + margin-bottom: 100px; +} +#error-page h4 { + margin-bottom: 40px; +} +#error-page p.buttons { + margin-top: 40px; +} +.pages-listing .item { + text-align: center; +} +.pages-listing .item h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 20px; + letter-spacing: 0.08em; +} +.pages-listing .item h3 a { + color: #555555; +} +.pages-listing .item .text { + margin-bottom: 20px; +} +.pages-listing .item .text p { + color: #999999; + font-size: 12px; + margin-bottom: 20px; +} +.banner { + margin-bottom: 30px; + text-align: center; +} +.banner img { + margin: 0 auto; +} +.banner a:hover img { + opacity: 0.8; + filter: alpha(opacity=80); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.pages { + text-align: center; +} +.pages .loadMore { + text-align: center; +} +.pages .pagination { + text-align: center; +} +.features-buttons button { + margin-bottom: 20px; +} +@media (min-width: 1300px) { + body.boxed { + background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); + } + body.boxed #all { + position: relative; + background: #fff; + width: 1200px; + margin: 0 auto; + overflow: hidden; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + } +} +#top { + background: #555555; + color: #eeeeee; + padding: 10px 0; +} +#top p { + margin: 0; + font-size: 12px; +} +#top .social { + float: right; + text-align: right; +} +#top .social a { + color: #999999; + display: inline-block; + width: 24px; + height: 24px; + border-radius: 12px; + line-height: 24px; + font-size: 12px; + text-align: center; +} +#top .social a:hover { + color: #fff; + background: #4fbfa8; + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#top .social a:hover.facebook { + background-color: #4460ae; +} +#top .social a:hover.gplus { + background-color: #c21f25; +} +#top .social a:hover.twitter { + background-color: #3cf; +} +#top .social a:hover.instagram { + background-color: #cd4378; +} +#top .social a:hover.email { + background-color: #4a7f45; +} +#top .login { + float: right; +} +#top .login a { + font-size: 12px; + color: #eeeeee; + margin-right: 15px; + text-decoration: none; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.10em; +} +@media (max-width: 767px) { + #top .login { + float: left; + } +} +#top.light { + background: #fff; + color: #999999; + border-bottom: solid 1px #eeeeee; +} +#top.light .login a { + color: #555555; +} +.navbar { + border: none; +} +.navbar ul.nav > li > a { + text-transform: uppercase; + text-decoration: underline; + font-weight: bold; + letter-spacing: 0.08em; + border-top: solid 5px transparent; +} +.navbar ul.nav > li > a:hover { + border-top: solid 5px #4fbfa8; +} +.navbar ul.nav > li.active > a, +.navbar ul.nav > li.open > a { + text-decoration: none !important; + border-top: solid 5px #2d7b6b; +} +@media (max-width: 768px) { + .navbar ul.nav > li.active > a, + .navbar ul.nav > li.open > a { + border-top-color: transparent; + } + .navbar ul.nav > li > a:hover { + border-top-color: transparent; + } +} +.navbar.navbar-light ul.nav > li.active > a { + border-top: solid 5px #2d7b6b; + background: #fff !important; + color: #555555 !important; +} +.navbar.navbar-light ul.nav > li.active > a:hover { + border-top: solid 5px #2d7b6b; +} +.navbar.navbar-light ul.nav > li > a:hover, +.navbar.navbar-light ul.nav > li.open > a:hover, +.navbar.navbar-light ul.nav > li > a:focus, +.navbar.navbar-light ul.nav > li.open > a:focus { + border-top: solid 5px #4fbfa8; + background: #fff !important; + color: #555555 !important; +} +.navbar ul.dropdown-menu { + margin: 0; + padding: 0; +} +.navbar ul.dropdown-menu li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 4px 0; +} +.navbar ul.dropdown-menu li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + left: 0; +} +.navbar ul.dropdown-menu li a:hover { + color: #4fbfa8; + text-decoration: none; + background: none; + left: 2px; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .navbar ul.dropdown-menu li a:hover { + left: 0; + } +} +.navbar .yamm-content h3 { + font-size: 18px; + text-transform: uppercase; + padding-bottom: 10px; + margin-top: 5px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +@media (max-width: 767px) { + .navbar .yamm-content h3 { + font-size: 14px; + } +} +.navbar .yamm-content h5 { + text-transform: uppercase; + padding-bottom: 10px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +.navbar .yamm-content ul { + margin: 0; + padding: 0; +} +.navbar .yamm-content ul li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + padding: 4px 0; +} +.navbar .yamm-content ul li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.navbar .yamm-content ul li a:hover { + color: #4fbfa8; + text-decoration: none; + padding-left: 2px; +} +.navbar .yamm-content .banner { + margin-bottom: 10px; +} +.navbar .yamm-fw .dropdown-menu { + padding: 0; +} +.navbar .navbar-buttons { + float: right; +} +.navbar .navbar-buttons button, +.navbar .navbar-buttons a.btn, +.navbar .navbar-buttons .btn-default.navbar-toggle { + margin-top: 11px; + margin-bottom: 11px; + margin-left: 0; + margin-right: 5px; +} +.navbar .btn-default, +.navbar .btn-default.navbar-toggle { + color: #999999; + background-color: #fff; + margin-left: 7px; + margin-right: 0; +} +.navbar .btn-default:hover, +.navbar .btn-default.navbar-toggle:hover, +.navbar .btn-default:focus, +.navbar .btn-default.navbar-toggle:focus { + background-color: #fff; + border-color: #4fbfa8; + color: #4fbfa8; +} +.navbar #search { + clear: both; + border-top: solid 1px #4fbfa8; + text-align: right; +} +.navbar #search form { + float: right; +} +.navbar #search form .input-group { + width: 500px; +} +@media (max-width: 768px) { + .navbar #search form .input-group { + width: 100%; + } +} +.navbar #basket-overview a { + margin-left: 7px; +} +.navbar-affixed-top { + top: -32px; +} +.navbar-affixed-top.affix-top { + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +.navbar-affixed-top.affix { + position: fixed; + width: 100%; + top: 0; + z-index: 1000; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +body.boxed .navbar-affixed-top.affix { + position: static; +} +#login-modal { + overflow: hidden; +} +#login-modal .modal-header h4 { + text-transform: uppercase; +} +#login-modal form { + margin-bottom: 20px; +} +#login-modal a { + color: #4fbfa8; +} +#login-modal p { + font-weight: 300; + margin-bottom: 20px; + font-size: 13px; +} +/* buttons */ +.btn { + font-weight: 700; + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 0; +} +.input-group .btn { + font-size: 14px; +} +.btn-lg { + padding: 10px 16px; + font-size: 14px; + line-height: 1.33; + border-radius: 0; +} +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-template-main { + color: #4fbfa8; + background-color: #ffffff; + border-color: #4fbfa8; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + color: #4fbfa8; + background-color: #e6e6e6; + border-color: #389985; +} +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + background-image: none; +} +.btn-template-main.disabled, +.btn-template-main[disabled], +fieldset[disabled] .btn-template-main, +.btn-template-main.disabled:hover, +.btn-template-main[disabled]:hover, +fieldset[disabled] .btn-template-main:hover, +.btn-template-main.disabled:focus, +.btn-template-main[disabled]:focus, +fieldset[disabled] .btn-template-main:focus, +.btn-template-main.disabled:active, +.btn-template-main[disabled]:active, +fieldset[disabled] .btn-template-main:active, +.btn-template-main.disabled.active, +.btn-template-main[disabled].active, +fieldset[disabled] .btn-template-main.active { + background-color: #ffffff; + border-color: #4fbfa8; +} +.btn-template-main .badge { + color: #ffffff; + background-color: #4fbfa8; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active { + background: #4fbfa8; + color: #ffffff; + border-color: #4fbfa8; +} +.btn-template-transparent-primary { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + background-image: none; +} +.btn-template-transparent-primary.disabled, +.btn-template-transparent-primary[disabled], +fieldset[disabled] .btn-template-transparent-primary, +.btn-template-transparent-primary.disabled:hover, +.btn-template-transparent-primary[disabled]:hover, +fieldset[disabled] .btn-template-transparent-primary:hover, +.btn-template-transparent-primary.disabled:focus, +.btn-template-transparent-primary[disabled]:focus, +fieldset[disabled] .btn-template-transparent-primary:focus, +.btn-template-transparent-primary.disabled:active, +.btn-template-transparent-primary[disabled]:active, +fieldset[disabled] .btn-template-transparent-primary:active, +.btn-template-transparent-primary.disabled.active, +.btn-template-transparent-primary[disabled].active, +fieldset[disabled] .btn-template-transparent-primary.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active { + background: #fff; + color: #4fbfa8; + border-color: #fff; +} +.btn-template-transparent-black { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + background-image: none; +} +.btn-template-transparent-black.disabled, +.btn-template-transparent-black[disabled], +fieldset[disabled] .btn-template-transparent-black, +.btn-template-transparent-black.disabled:hover, +.btn-template-transparent-black[disabled]:hover, +fieldset[disabled] .btn-template-transparent-black:hover, +.btn-template-transparent-black.disabled:focus, +.btn-template-transparent-black[disabled]:focus, +fieldset[disabled] .btn-template-transparent-black:focus, +.btn-template-transparent-black.disabled:active, +.btn-template-transparent-black[disabled]:active, +fieldset[disabled] .btn-template-transparent-black:active, +.btn-template-transparent-black.disabled.active, +.btn-template-transparent-black[disabled].active, +fieldset[disabled] .btn-template-transparent-black.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active { + background: #fff; + color: #000; + border-color: #fff; +} +.btn-template-primary { + color: #ffffff; + background-color: #4fbfa8; + border-color: #4fbfa8; +} +.btn-template-primary:hover, +.btn-template-primary:focus, +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + color: #ffffff; + background-color: #3aa18c; + border-color: #389985; +} +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + background-image: none; +} +.btn-template-primary.disabled, +.btn-template-primary[disabled], +fieldset[disabled] .btn-template-primary, +.btn-template-primary.disabled:hover, +.btn-template-primary[disabled]:hover, +fieldset[disabled] .btn-template-primary:hover, +.btn-template-primary.disabled:focus, +.btn-template-primary[disabled]:focus, +fieldset[disabled] .btn-template-primary:focus, +.btn-template-primary.disabled:active, +.btn-template-primary[disabled]:active, +fieldset[disabled] .btn-template-primary:active, +.btn-template-primary.disabled.active, +.btn-template-primary[disabled].active, +fieldset[disabled] .btn-template-primary.active { + background-color: #4fbfa8; + border-color: #4fbfa8; +} +.btn-template-primary .badge { + color: #4fbfa8; + background-color: #ffffff; +} +#intro { + background: url('../img/home.jpg') no-repeat center top; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} +#intro .item { + font-family: "Roboto", Helvetica, Arial, sans-serif; + height: 100%; +} +#intro .item h1 { + text-transform: uppercase; + font-size: 50px; + color: #fff; + margin-bottom: 40px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #intro .item h1 { + font-size: 40px; + } +} +@media (max-width: 767px) { + #intro .item h1 { + font-size: 25px; + } +} +#intro .item h3 { + color: #fff; + margin-bottom: 40px; +} +@media (max-width: 767px) { + #intro .item h3 { + font-size: 15px; + margin-bottom: 20px; + } +} +#intro .item .btn { + text-transform: none; +} +@media (max-width: 991px) { + #intro .item .btn { + font-size: 14px; + } +} +@media (max-width: 991px) { + #intro .item .carousel-caption { + left: 10%; + right: 10%; + } +} +#intro .container, +#intro .row { + height: 100%; + position: relative; +} +.jumbotron { + padding: 30px; + margin-bottom: 0; + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.jumbotron .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #4fbfa8; + opacity: 0.9; + filter: alpha(opacity=90); +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3, +.jumbotron p, +.jumbotron ul { + color: #fff; +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3 { + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.jumbotron p { + margin-bottom: 20px; + font-size: 21px; + font-weight: 400; +} +.jumbotron p.text-uppercase { + font-weight: 700; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 0; +} +.jumbotron .container { + max-width: 100%; + z-index: 2; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 46px; + } +} +#categoryMenu h3 { + padding: 20px; + background: #f7f7f7; + margin: 0; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.panel.sidebar-menu h3 { + padding: 5px 0; + margin: 0; +} +.panel.sidebar-menu { + background: #fff; + margin: 0 0 20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.panel.sidebar-menu .panel-heading { + text-transform: uppercase; + margin-bottom: 10px; + background: none; + padding: 0; + letter-spacing: 0.08em; + border-bottom: none; +} +.panel.sidebar-menu .panel-heading h1, +.panel.sidebar-menu .panel-heading h2, +.panel.sidebar-menu .panel-heading h3, +.panel.sidebar-menu .panel-heading h4, +.panel.sidebar-menu .panel-heading h5 { + display: inline-block; + border-bottom: solid 5px #4fbfa8; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; +} +.panel.sidebar-menu .panel-heading .btn.btn-danger { + color: #fff; + margin-top: 5px; +} +.panel.sidebar-menu .panel-body { + padding: 0; +} +.panel.sidebar-menu .panel-body span.colour { + display: inline-block; + width: 15px; + height: 15px; + border: solid 1px #555555; + vertical-align: top; + margin-top: 2px; + margin-left: 5px; +} +.panel.sidebar-menu .panel-body span.colour.white { + background: #fff; +} +.panel.sidebar-menu .panel-body span.colour.red { + background: red; +} +.panel.sidebar-menu .panel-body span.colour.green { + background: green; +} +.panel.sidebar-menu .panel-body span.colour.blue { + background: blue; +} +.panel.sidebar-menu .panel-body span.colour.yellow { + background: yellow; +} +.panel.sidebar-menu .panel-body label { + color: #999999; + font-size: 12px; +} +.panel.sidebar-menu .panel-body label:hover { + color: #555555; +} +.panel.sidebar-menu ul.nav.category-menu { + margin-bottom: 20px; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.08em; +} +.panel.sidebar-menu ul.nav.category-menu li a { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.panel.sidebar-menu ul.nav ul { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.nav ul li { + display: block; +} +.panel.sidebar-menu ul.nav ul li a { + position: relative; + font-family: "Times New Roman", Times, serif; + font-weight: normal; + text-transform: none !important; + display: block; + padding: 10px 15px; + padding-left: 30px; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.nav ul li a:hover, +.panel.sidebar-menu ul.nav ul li a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.panel.sidebar-menu ul.tag-cloud { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.tag-cloud li { + display: inline-block; +} +.panel.sidebar-menu ul.tag-cloud li a { + display: inline-block; + padding: 5px; + border: solid 1px #eeeeee; + border-radius: 0; + color: #4fbfa8; + margin: 5px 5px 5px 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + font-size: 12px; + text-decoration: none; +} +.panel.sidebar-menu ul.tag-cloud li a:hover { + color: #4fbfa8; + border-color: #4fbfa8; +} +.panel.sidebar-menu ul.tag-cloud li.active a { + color: #FFFFFF; + background-color: #4fbfa8; +} +.panel.sidebar-menu ul.tag-cloud li.active a:hover { + color: #FFFFFF; +} +.panel.sidebar-menu ul.popular, +.panel.sidebar-menu ul.recent { + list-style: none; + padding-left: 0; + padding: 20px 0; +} +.panel.sidebar-menu ul.popular li, +.panel.sidebar-menu ul.recent li { + margin-bottom: 10px; + padding: 5px 0; + border-bottom: dotted 1px #eeeeee; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li img, +.panel.sidebar-menu ul.recent li img { + width: 50px; + margin-right: 10px; +} +.panel.sidebar-menu ul.popular li h5, +.panel.sidebar-menu ul.recent li h5 { + margin: 0 0 10px; +} +.panel.sidebar-menu ul.popular li h5 a, +.panel.sidebar-menu ul.recent li h5 a { + font-weight: normal; +} +.panel.sidebar-menu ul.popular li p.date, +.panel.sidebar-menu ul.recent li p.date { + float: right; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.popular li:last-child, +.panel.sidebar-menu ul.recent li:last-child { + border-bottom: none; +} +.panel.sidebar-menu .text-widget { + font-size: 12px; +} +.panel.sidebar-menu.with-icons ul.nav li a:after { + font-family: 'FontAwesome'; + content: "\f105"; + position: relative; + top: 0; + float: right; +} +/* ribbons for product sales etc. */ +.ribbon { + position: absolute; + top: 50px; + padding-left: 51px; + font-weight: 700; + letter-spacing: 0.08em; +} +.ribbon .ribbon-background { + position: absolute; + top: 0; + right: 0; +} +.ribbon .theribbon { + position: relative; + width: 80px; + padding: 6px 20px 6px 20px; + margin: 30px 10px 10px -71px; + color: #fff; + background-color: #4fbfa8; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.ribbon .theribbon:before, +.ribbon .theribbon:after { + content: ' '; + position: absolute; + width: 0; + height: 0; +} +.ribbon .theribbon:after { + left: 0px; + top: 100%; + border-width: 5px 10px; + border-style: solid; + border-color: #000000 #000000 transparent transparent; +} +.ribbon.sale { + top: 0; +} +.ribbon.new { + top: 50px; +} +.ribbon.new .theribbon { + background-color: #5bc0de; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.new .theribbon:after { + border-color: #2390b0 #2390b0 transparent transparent; +} +.ribbon.gift { + top: 100px; +} +.ribbon.gift .theribbon { + background-color: #5cb85c; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.gift .theribbon:after { + border-color: #357935 #357935 transparent transparent; +} +.owl-carousel .owl-controls .owl-page.active span, +.owl-theme .owl-controls .owl-page.active span, +.owl-carousel .owl-controls.clickable .owl-page:hover span, +.owl-theme .owl-controls.clickable .owl-page:hover span { + background: #4fbfa8; +} +.owl-carousel .owl-controls .owl-buttons, +.owl-theme .owl-controls .owl-buttons { + position: absolute; + top: 5px; + right: 0; +} +.owl-carousel .owl-controls .owl-buttons div, +.owl-theme .owl-controls .owl-buttons div { + width: 26px; + height: 26px; + line-height: 25px; + margin: 0 5px 0 0; + font-size: 18px; + color: #4fbfa8; + padding: 0; + background: #fff; + border-radius: 13px; + vertical-align: middle; + text-align: center; + opacity: 1; + filter: alpha(opacity=100); +} +.home-carousel { + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.home-carousel .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #4fbfa8; + opacity: 0.9; + filter: alpha(opacity=90); +} +.home-carousel .owl-carousel { + padding-top: 60px; + padding-bottom: 20px; +} +.home-carousel .owl-theme .owl-controls .owl-page span { + background: #666; +} +.home-carousel .owl-theme .owl-controls .owl-page.active span { + background: #fff; +} +.home-carousel .owl-theme .owl-controls .owl-page:hover span { + background: #fff; +} +@media (max-width: 767px) { + .home-carousel { + text-align: center !important; + } +} +@media (min-width: 992px) { + .home-carousel .right { + text-align: right; + } +} +.home-carousel h1, +.home-carousel h2, +.home-carousel h3, +.home-carousel p, +.home-carousel ul { + color: #fff; +} +.home-carousel h1 { + font-weight: 700; + text-transform: uppercase; + font-size: 46px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .home-carousel h1 { + font-size: 36px; + } +} +.home-carousel h2 { + font-weight: 700; + text-transform: uppercase; + font-size: 40px; + letter-spacing: 0.08em; +} +.home-carousel ul, +.home-carousel p { + font-size: 18px; + font-weight: 700; + padding: 0; + text-transform: uppercase; + letter-spacing: 0.10em; +} +@media (max-width: 991px) { + .home-carousel ul, + .home-carousel p { + font-size: 14px; + } +} +.home-carousel ul li { + margin-bottom: 10px; +} +.customers { + padding: 0; + margin-bottom: 40px; +} +.customers .item { + list-style-type: none; + text-align: center; + margin: 0 20px; +} +.customers .item img { + display: inline-block; + filter: url("data:image/svg+xml;utf8,#grayscale"); + /* Firefox 10+, Firefox on Android */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+, Safari 6+, Safari 6+ iOS */ + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.customers .item img:hover { + max-width: auto; + filter: none; + -webkit-filter: none; +} +.testimonials { + padding: 0; + margin-bottom: 40px; +} +.testimonials .item { + list-style-type: none; + margin: 0 5px; + background: #fff; + padding-bottom: 60px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.testimonials .item .testimonial { + position: relative; + padding: 20px; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial .text { + color: #999999; + margin-bottom: 40px; +} +.testimonials .item .testimonial .bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + height: 50px; +} +.testimonials .item .testimonial .bottom .icon { + color: #4fbfa8; + font-size: 30px; + float: left; + width: 20%; +} +.testimonials .item .testimonial .name-picture { + float: right; + width: 80%; + text-align: right; +} +.testimonials .item .testimonial .name-picture h5 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.testimonials .item .testimonial .name-picture p { + color: #999999; + margin: 0; + font-size: 12px; +} +.testimonials .item .testimonial .name-picture img { + float: right; + width: 60px; + border-radius: 30px; + margin-left: 10px; +} +.team-member { + text-align: center; + margin-bottom: 40px; +} +.team-member h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 5px; + letter-spacing: 0.08em; +} +.team-member h3 a { + color: #555555; +} +.team-member p.role { + color: #999999; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.team-member .social { + margin-bottom: 20px; +} +.team-member .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email { + background-color: #4a7f45; +} +.team-member .text p { + color: #999999; + font-size: 12px; +} +.team-member .social, +.team-member-detail .social { + margin-bottom: 20px; +} +.team-member .social a, +.team-member-detail .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i, +.team-member-detail .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook, +.team-member-detail .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus, +.team-member-detail .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter, +.team-member-detail .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram, +.team-member-detail .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email, +.team-member-detail .social a.email { + background-color: #4a7f45; +} +.box-simple { + text-align: center; + margin-bottom: 40px; +} +.box-simple .icon { + color: #4fbfa8; + border-color: #4fbfa8; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.box-simple h3 { + font-weight: normal; + font-size: 18px; + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-simple h3 a { + color: #555555; +} +.box-simple p { + color: #999999; +} +.box-simple:hover .icon { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.box-simple:hover .icon i { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.box-simple.box-white { + padding: 20px; + border: dotted 1px #999999; +} +.box-simple.box-white .icon { + color: #555555; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark { + padding: 20px; + border: dotted 1px #999999; + background: #555555; + color: #fff; +} +.box-simple.box-dark .icon { + color: #f7f7f7; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark h3 { + color: #fff; +} +.box-simple.box-dark h3 a { + color: #fff; +} +.box-simple.box-dark p { + color: #fff; +} +.box-image { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #4fbfa8; +} +.box-image .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +.box-image-text { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image-text .top { + position: relative; + margin-bottom: 10px; +} +.box-image-text .top .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #4fbfa8; +} +.box-image-text .top .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .top .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image-text .top .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image-text .top .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .content h3, +.box-image-text .content h4 { + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-image-text .content p { + color: #999999; +} +.box-image-text:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image-text:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image-text:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +/* universal box */ +.box { + background: #fff; + margin: 0 0 30px; + border: solid 1px #ccc; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px 0; + border-left: none; + border-right: none; +} +.box .box-header { + background: #f7f7f7; + margin: -20px 0 20px; + padding: 20px; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-footer { + background: #f7f7f7; + margin: 30px 0 -20px; + padding: 20px; + border-top: solid 1px #eeeeee; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +@media (max-width: 991px) { + .box .box-footer .btn { + margin-bottom: 20px; + } +} +.box.no-border { + border: none; +} +#heading-breadcrumbs { + background: url('../img/texture-turquoise.png') center center repeat; + padding: 20px 0; + margin-bottom: 40px; +} +#heading-breadcrumbs.no-mb { + margin-bottom: 0; +} +#heading-breadcrumbs h1 { + color: #333333; + text-transform: uppercase; + font-size: 30px; + font-weight: 700; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #heading-breadcrumbs h1 { + text-align: center; + } +} +#heading-breadcrumbs ul.breadcrumb { + margin-top: 5px; + margin-bottom: 0; +} +.bar { + position: relative; + background: #4fbfa8; + padding: 60px 0; +} +.bar.background-pentagon { + background: url('../img/texture-turquoise.png') center center repeat; + border-top: solid 1px #999999; + border-bottom: solid 1px #999999; +} +.bar.background-gray { + background: #eeeeee; +} +.bar.background-gray-dark { + background: #555555; +} +.bar.background-white { + background: #fff; +} +.bar.background-image-fixed-1 { + background: url('../img/fixed-background-1.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.background-image-fixed-2 { + background: url('../img/fixed-background-2.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.color-white h1, +.bar.color-white h2, +.bar.color-white h3, +.bar.color-white h4, +.bar.color-white h5, +.bar.color-white h6, +.bar.color-white p { + color: #fff; +} +.bar.padding-big { + padding: 50px 0; +} +.bar.padding-horizontal { + padding-left: 30px; + padding-right: 30px; +} +.bar.margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.bar .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0.3; + filter: alpha(opacity=30); +} +.portfolio.no-space { + padding: 0 15px; +} +.portfolio.no-space .box-image { + margin: 0 -15px; +} +.portfolio-project .project-more h4 { + color: #555555; + text-transform: uppercase; + margin-bottom: 0; + text-align: left; + font-size: 14px; + letter-spacing: 0.08em; +} +.portfolio-project .project-more p { + color: #999999; + padding: 10px 0; + margin-bottom: 20px; + text-align: left; +} +.portfolio-showcase { + margin: 15px 0 60px; +} +.portfolio-showcase h3 a { + text-transform: uppercase; + line-height: 1.5; + letter-spacing: 0.08em; +} +.portfolio-showcase p.lead { + color: #555555; + margin-bottom: 20px; +} +.portfolio-showcase p { + color: #999999; +} +.portfolio-showcase p.buttons { + margin-top: 40px; +} +.see-more { + text-align: center; + margin-top: 20px; + padding-top: 20px; +} +.see-more p { + font-size: 28px; + font-weight: 100; + margin-bottom: 20px; +} +.showcase .item { + text-align: center; +} +.showcase .item .icon { + display: inline-block; + width: 50px; + height: 50px; + color: #555555; + line-height: 50px; + border-radius: 25px; + border: solid 1px #555555; +} +.showcase .item h4 { + color: #555555; + text-transform: uppercase; + letter-spacing: 0.08em; + line-height: 1.5; + font-size: 16px; +} +.showcase .item h4 span { + font-weight: bold; + font-size: 51px; +} +.packages .package { + background: #fff; + margin-top: 25px; + margin-bottom: 20px; + padding-bottom: 15px; + text-align: center; + border: solid 1px #4fbfa8; + overflow: hidden; +} +.packages .package .package-header { + height: 57px; + color: #fff; + line-height: 57px; + background: #4fbfa8; +} +.packages .package .package-header h5 { + color: #fff; + text-transform: uppercase; + font-weight: bold; + line-height: 57px; + margin: 0; + letter-spacing: 0.08em; +} +.packages .package .package-header.light-gray { + background: #eeeeee; +} +.packages .package .package-header.light-gray h5 { + color: #555555; +} +.packages .package .price { + line-height: 120px; + height: 100px; + color: #fff; + font-weight: 400; +} +.packages .package .price h4 { + display: inline; + font-size: 50px; + line-height: normal; + margin-bottom: 0; +} +.packages .package .price .period { + line-height: normal; + color: #999999; +} +.packages .package ul { + padding: 0; +} +.packages .package ul li { + list-style-type: none; + padding-top: 10px; + padding-bottom: 10px; + width: 80%; + margin: auto; + border-bottom: 1px dotted #ccc; +} +.packages .package ul li:last-child { + border-bottom: 0; +} +.packages .package ul li i { + font-size: 13px; + margin-right: 5px; +} +.packages .best-value .package { + margin-top: 0; + padding-bottom: 40px; +} +.packages .best-value .package .package-header { + height: 72px; + padding-top: 17px; + height: 82px !important; +} +.packages .best-value .package .package-header h5 { + font-weight: bold; + line-height: 29px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.packages .best-value .package .package-header .meta-text { + font-size: 13px; + line-height: 15px; +} +#map { + height: 300px; +} +#map.with-border { + border-top: solid 1px #4fbfa8; + border-bottom: solid 1px #4fbfa8; +} +#blog-listing-big .post, +#blog-homepage .post { + margin-bottom: 60px; +} +#blog-listing-big .post h2, +#blog-homepage .post h2, +#blog-listing-big .post h4, +#blog-homepage .post h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#blog-listing-big .post h2 a, +#blog-homepage .post h2 a, +#blog-listing-big .post h4 a, +#blog-homepage .post h4 a { + color: #555555; +} +#blog-listing-big .post h2 a:hover, +#blog-homepage .post h2 a:hover, +#blog-listing-big .post h4 a:hover, +#blog-homepage .post h4 a:hover { + color: #4fbfa8; +} +#blog-listing-big .post .author-category, +#blog-homepage .post .author-category { + color: #999999; + text-transform: uppercase; + font-weight: 300; + letter-spacing: 0.08em; +} +#blog-listing-big .post .author-category a, +#blog-homepage .post .author-category a { + font-weight: 500; +} +#blog-listing-big .post .date-comments a, +#blog-homepage .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-big .post .date-comments a:hover, +#blog-homepage .post .date-comments a:hover { + color: #4fbfa8; +} +@media (min-width: 768px) { + #blog-listing-big .post .date-comments, + #blog-homepage .post .date-comments { + text-align: right; + } +} +#blog-listing-big .post .intro, +#blog-homepage .post .intro { + text-align: left; +} +#blog-listing-big .post .image, +#blog-homepage .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-big .post .image img, +#blog-homepage .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-big .post .image img.img-responsive, + #blog-homepage .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-big .post .video, +#blog-homepage .post .video { + margin-bottom: 10px; +} +#blog-listing-big .post .read-more, +#blog-homepage .post .read-more { + text-align: right; +} +#blog-listing-medium .post { + margin-bottom: 60px; +} +#blog-listing-medium .post h2 { + text-transform: uppercase; + margin: 0 0 10px; + font-size: 24px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post h2 a { + color: #555555; +} +#blog-listing-medium .post h2 a:hover { + color: #4fbfa8; +} +#blog-listing-medium .post .author-category { + float: left; + color: #999999; + text-transform: uppercase; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post .author-category a { + font-weight: 500; +} +#blog-listing-medium .post .date-comments { + float: right; + font-size: 12px; +} +#blog-listing-medium .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-medium .post .date-comments a:hover { + color: #4fbfa8; +} +@media (min-width: 768px) { + #blog-listing-medium .post .date-comments { + text-align: right; + } +} +#blog-listing-medium .post .intro { + text-align: left; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-medium .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-medium .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-medium .post .video { + margin-bottom: 10px; +} +#blog-listing-medium .post .read-more { + text-align: right; +} +.box-image-text.blog .author-category { + color: #999999; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 300; + font-size: 12px; +} +.box-image-text.blog .author-category a { + font-weight: 500; +} +.box-image-text.blog .intro { + text-align: left; + margin-bottom: 20px; +} +#blog-homepage .post { + margin-bottom: 30px; +} +#blog-homepage .post h2, +#blog-homepage .post h4, +#blog-homepage .post .author-category, +#blog-homepage .post .read-more { + text-align: center; +} +#blog-homepage .post .read-more { + margin-top: 20px; +} +#blog-post #post-content { + margin-bottom: 20px; +} +#blog-post .comment { + margin-bottom: 25px; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment .posted { + color: #999999; + font-size: 12px; +} +#blog-post .comment .reply { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#blog-post .comment.last { + margin-bottom: 0; +} +#blog-post #comments, +#blog-post #comment-form { + padding: 20px 0; + margin-top: 20px; + border-top: solid 1px #eeeeee; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments h4, +#blog-post #comment-form h4 { + margin-bottom: 20px; +} +#blog-post #comment-form { + margin-bottom: 20px; +} +.product { + background: #fff; + border-bottom: solid 1px #e6e6e6; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 60px; + overflow: hidden; + text-align: center; +} +.product .image { + overflow: hidden; +} +.product .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .product .image img.img-responsive { + min-width: 100%; + } +} +.product .text { + padding: 10px; +} +.product .text h3 { + font-size: 14px; + font-weight: 700; + height: 39.6px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.product .text h3 a { + color: #555555; +} +.product .text h3 a:hover { + text-decoration: none; +} +.product .text p.price { + font-size: 18px; +} +.product .text p.price del { + color: #999999; +} +.product .buttons { + clear: both; + position: absolute; + display: none; + bottom: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: solid 1px transparent; + padding: 20px; + background: rgba(255, 255, 255, 0.9); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + text-align: center; +} +.product .buttons .btn { + margin-bottom: 20px; +} +.product:hover { + border-bottom: solid 1px #808080; + top: 0; +} +.product:hover .buttons { + clear: both; + position: absolute; + top: 0; + background: rgba(255, 255, 255, 0.5); +} +.product:hover .image img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.goToDescription { + font-size: 12px; + text-align: center; + margin-bottom: 40px; +} +.goToDescription a { + color: #999999; + text-decoration: underline; +} +#productMain { + margin-bottom: 30px; +} +#productMain .sizes { + text-align: center; +} +#productMain .sizes h3 { + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 40px; +} +#productMain .sizes a { + display: inline-block; + width: 40px; + height: 40px; + border-radius: 40px; + background: #ccc; + line-height: 40px; + color: #555555; + text-align: center; + text-decoration: none; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#productMain .sizes a.active, +#productMain .sizes a:hover { + background: #4fbfa8; + color: #fff; +} +#productMain .sizes input { + display: none; +} +#productMain .price { + font-size: 40px; + text-align: center; + margin-top: 40px; + margin-bottom: 40px; +} +#thumbs a { + display: block; + border: solid 1px transparent; +} +#thumbs a.active { + border-color: #4fbfa8; +} +#product-social { + text-align: center; +} +#product-social h4 { + font-weight: 300; + margin-bottom: 10px; +} +#product-social p { + line-height: 26px; +} +#product-social p a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +#product-social p a i { + vertical-align: bottom; + line-height: 26px; +} +#product-social p a.facebook { + background-color: #4460ae; +} +#product-social p a.gplus { + background-color: #c21f25; +} +#product-social p a.twitter { + background-color: #3cf; +} +#product-social p a.instagram { + background-color: #cd4378; +} +#product-social p a.email { + background-color: #4a7f45; +} +@media (max-width: 991px) { + #product-social { + text-align: center; + } +} +#checkout .nav { + margin-bottom: 20px; + border-bottom: solid 1px #4fbfa8; +} +#checkout .nav li { + height: 100%; +} +#checkout .nav li a { + display: block; + height: 100%; +} +#order-summary table { + margin-top: 20px; +} +#order-summary table td { + color: #999999; +} +#order-summary table tr.total td, +#order-summary table tr.total th { + font-size: 18px; + color: #555555; + font-weight: 700; +} +#checkout .table tbody tr td, +#basket .table tbody tr td, +#customer-order .table tbody tr td { + vertical-align: middle; +} +#checkout .table tbody tr td input, +#basket .table tbody tr td input, +#customer-order .table tbody tr td input { + width: 50px; + text-align: right; +} +#checkout .table tbody tr td img, +#basket .table tbody tr td img, +#customer-order .table tbody tr td img { + width: 50px; +} +#checkout .table tfoot, +#basket .table tfoot, +#customer-order .table tfoot { + font-size: 18px; +} +.shipping-method h4, +.payment-method h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#customer-orders table tr th, +#customer-orders table tr td { + vertical-align: baseline; +} +#customer-order .table tfoot th { + font-size: 18px; + font-weight: 300; +} +#customer-order .addresses { + text-align: right; + margin-bottom: 30px; +} +#customer-order .addresses p { + font-size: 18px; + font-weight: 300; +} +#customer-account { + margin-bottom: 30px; +} +#get-it { + background: #4fbfa8; + padding: 50px 0 30px; + color: #fff; + text-align: center; +} +#get-it h1, +#get-it h2, +#get-it h3, +#get-it h4, +#get-it h5, +#get-it h6 { + color: #fff; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 0 0 20px; +} +#get-it p { + margin: 0 0 20px; +} +#footer { + background: #555555; + padding: 50px 0; + color: #999999; +} +#footer h1, +#footer h2, +#footer h3, +#footer h4, +#footer h5, +#footer h6 { + color: #eeeeee; +} +#footer h4 { + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} +#footer ul { + padding-left: 0; + list-style: none; +} +#footer ul a { + color: #999999; +} +#footer ul a:hover { + color: #4fbfa8; + text-decoration: none; +} +#footer .photostream div { + float: left; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 33%; + padding: 7.5px; + overflow: hidden; +} +#footer .photostream div a { + border: solid 1 px #eeeeee; +} +#footer .photostream div img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#footer .photostream div:hover img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +#footer .blog-entries .item { + clear: both; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: solid 1px #555555; +} +#footer .blog-entries .item .image { + float: left; + width: 15%; + margin-right: 10px; +} +#footer .blog-entries .item .name { + width: 75%; + margin-left: 10px; + display: table-cell; + vertical-align: middle; +} +#footer .blog-entries .item .name h5 { + margin: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 12px; +} +#footer .blog-entries .item .name h5 a { + color: #eeeeee; +} +#footer .blog-entries .item .text { + width: 100%; + clear: both; +} +#footer .blog-entries .item:last-child { + border-bottom: none; + margin-bottom: 0; +} +#footer .social a { + color: #555555; + font-size: 25px; + margin: 0 10px 0 0; +} +#footer .social a:hover { + color: #4fbfa8; +} +#copyright { + background: #333; + color: #ccc; + padding: 50px 0; + font-size: 12px; + line-height: 28px; +} +#copyright p { + margin: 0; +} +@media (max-width: 991px) { + #copyright p { + float: none !important; + text-align: center; + margin-bottom: 10px; + } +} +[data-animate] { + opacity: 0; + filter: alpha(opacity=0); +} +#style-switch-button { + position: fixed; + top: 100px; + left: 0px; + border-radius: 0; +} +#style-switch { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 300px; + padding: 20px; + position: fixed; + top: 140px; + left: 0; + background: #fff; + border: solid 1px #eeeeee; +} +@media (max-width: 991px) { + #style-switch-button { + display: none; + } + #style-switch { + display: none; + } +} +/* Original Boostrap template overwrite */ +/* breadcrumbs */ +.breadcrumb { + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + background-color: none; + letter-spacing: 0.08em; +} +/* nav */ +.nav > li > a { + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #4fbfa8; +} +.nav-tabs { + border-bottom: 1px solid #4fbfa8; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #4fbfa8; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #4fbfa8; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: solid 1px #4fbfa8; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #4fbfa8; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #4fbfa8; + border-radius: 0 0 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 0; +} +.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: #ffffff; + background-color: #4fbfa8; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; + border-bottom: solid 1px #4fbfa8; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #4fbfa8; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #4fbfa8; + border-radius: 0 0 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content { + padding: 15px; + border: solid 1px #ddd; + border-top: none; +} +/* navbar */ +.navbar { + position: relative; + min-height: 62px; + margin-bottom: 0; + border-bottom: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; +} +.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-affixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-affixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@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: 10px 15px; + font-size: 18px; + line-height: 20px; + height: 62px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@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: 14px; + margin-bottom: 14px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-nav { + margin: 10.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .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: 20px; + } + .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: 21px; + padding-bottom: 21px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 14px; + margin-bottom: 14px; +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.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 { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-btn.btn-sm { + margin-top: 16px; + margin-bottom: 16px; +} +.navbar-btn.btn-xs { + margin-top: 20px; + margin-bottom: 20px; +} +.navbar-text { + margin-top: 21px; + margin-bottom: 21px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: #cccccc; + border-bottom: none; +} +.navbar-default .navbar-brand { + color: #555555; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #3b3b3b; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #555555; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #555555; + background-color: #9adacd; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #4fbfa8; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #4fbfa8; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #cccccc; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #4fbfa8; + color: #ffffff; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #555555; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #4fbfa8; + } + .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: #ffffff; + background-color: #4fbfa8; + } + .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: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #555555; +} +.navbar-default .navbar-link:hover { + color: #555555; +} +.navbar-default .btn-link { + color: #555555; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #555555; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +/* scaffolding */ +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +a { + color: #4fbfa8; + text-decoration: none; +} +a:hover, +a:focus { + color: #348e7b; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.img-rounded { + border-radius: 0; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +/* breadcrumbs */ +.breadcrumb { + padding: 20px 0; + margin-bottom: 20px; + background-color: transparent; + border-radius: 0; + text-align: right; +} +.breadcrumb > li + li:before { + content: ">\00a0"; + color: #555555; +} +.breadcrumb > .active { + color: #999999; +} +@media (max-width: 991px) { + .breadcrumb { + padding: 20px 0; + text-align: center; + } +} +/* dropdowns */ +.dropdown-menu { + z-index: 1000; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + padding: 5px 20px; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +/* labels */ +.label { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: normal; + text-transform: uppercase; + letter-spacing: 0.08em; +} +/* forms.less */ +label { + font-weight: normal; +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; +} +.form-control:focus { + border-color: #4fbfa8; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(79, 191, 168, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(79, 191, 168, 0.6); +} +.form-group { + margin-bottom: 20px; +} +/* pager*/ +.pager { + margin: 20px 0; + border-top: solid 1px #eeeeee; + padding-top: 20px; + text-transform: uppercase; + letter-spacing: 0.08em; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + background-color: #ffffff; + border: 1px solid #4fbfa8; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + color: #fff; + background-color: #4fbfa8; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: #ddd; +} +/* pagination */ +.pagination { + margin: 20px 0; + font-family: "Roboto", Helvetica, Arial, sans-serif; + border-radius: 0; +} +.pagination > li > a, +.pagination > li > span { + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #4fbfa8; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #4fbfa8; + background-color: #bfe8df; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #4fbfa8; + border-color: #4fbfa8; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: #dddddd; +} +/* responsive utilities */ +@media (max-width: 767px) { + .text-center-xs { + text-align: center !important; + } + .text-center-xs img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .text-center-sm { + text-align: center !important; + } + .text-center-sm img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +/* type */ +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: 900; + line-height: 1.1; + color: #333333; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 20px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 18px; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +.text-small { + font-size: 12px; +} +.text-large { + font-size: 18px; +} +.text-italic { + font-style: italic; +} +.text-primary { + color: #4fbfa8; +} +a.text-primary:hover { + color: #3aa18c; +} +.bg-primary { + color: #fff; + background-color: #4fbfa8; +} +a.bg-primary:hover { + background-color: #3aa18c; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 1px dotted #999999; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 14px; + border-left: 5px solid #4fbfa8; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + border-right: 5px solid #4fbfa8; +} +address { + margin-bottom: 20px; + line-height: 1.42857143; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 0 0; + box-shadow: 0 0 0; +} +.panel-heading { + border-top-right-radius: 0; + border-top-left-radius: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 15px 15px; +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group.accordion .panel { + border-color: #ccc; +} +.panel-primary { + border-color: #4fbfa8; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #4fbfa8; + border-color: #4fbfa8; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #4fbfa8; +} +.panel-primary > .panel-heading .badge { + color: #4fbfa8; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #4fbfa8; +} +.panel-primary .panel-title { + font-weight: 300; +} +.panel-primary .panel-title a:hover { + color: #fff; + text-decoration: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #4fbfa8; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.progress-bar-primary { + background-color: #4fbfa8; +} +.progress-striped .progress-bar-primary { + 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); +} +/*! + * Yamm!3 - Yet another megamenu for Bootstrap 3 + * http://geedmo.github.com/yamm3 + * + * @geedmo - Licensed under the MIT license + */ +.yamm .nav, +.yamm .collapse, +.yamm .dropup.use-yamm, +.yamm .dropdown.use-yamm { + position: static; +} +.yamm .container { + position: relative; +} +.yamm .dropdown-menu { + left: auto; +} +.yamm .nav.navbar-right .dropdown-menu { + left: auto; + right: 0; +} +.yamm .yamm-content { + padding: 20px 30px; +} +.yamm .dropdown.yamm-fw .dropdown-menu { + left: 15px; + right: 15px; +} diff --git a/public/css/style.violet.css b/public/css/style.violet.css new file mode 100644 index 0000000..e71222f --- /dev/null +++ b/public/css/style.violet.css @@ -0,0 +1,3566 @@ +.clearfix:before, +.clearfix:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; +} +.clearfix:after, +.navbar:after, +.navbar-header: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; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* general styles */ +a, +button { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +a i[class^="fa"], +button i[class^="fa"] { + margin: 0 5px; +} +.clickable { + cursor: pointer !important; +} +.required { + color: #986dbd; +} +.accent { + color: #986dbd; +} +.text-uppercase { + text-transform: uppercase; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .text-center-sm { + text-align: center; + } +} +p.lead { + margin-bottom: 40px; +} +section, +div.section { + margin-bottom: 40px; +} +.no-mb { + margin-bottom: 0 !important; +} +.mb-small { + margin-bottom: 20px !important; +} +.heading { + margin-bottom: 40px; +} +.heading h1, +.heading h2, +.heading h3, +.heading h4, +.heading h5 { + display: inline-block; + border-bottom: solid 5px #986dbd; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; + vertical-align: middle; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.heading h1 i[class^="fa"], +.heading h2 i[class^="fa"], +.heading h3 i[class^="fa"], +.heading h4 i[class^="fa"], +.heading h5 i[class^="fa"] { + display: inline-block; + background: #986dbd; + width: 30px; + height: 30px; + vertical-align: middle; + text-align: center; + color: #fff; + font-size: 12px; + line-height: 30px; + border-radius: 15px; +} +.icon { + display: inline-block; + width: 80px; + height: 80px; + color: #fff; + line-height: 80px; + border-radius: 40px; + border: solid 1px #fff; + font-size: 20px; +} +.icon.icon-lg { + font-size: 30px; + border-width: 2px; +} +.ul-icons { + padding-left: 10px; +} +.ul-icons li { + list-style-type: none; + line-height: 20px; + margin-bottom: 20px; +} +.ul-icons li i { + width: 20px; + height: 20px; + background: #986dbd; + color: #fff; + text-align: center; + border-radius: 10px; + line-height: 20px; + margin-right: 10px; +} +ul.list-style-none { + list-style: none; +} +#text-page h1, +#text-page h2, +#text-page h3 { + font-weight: 700; +} +#error-page { + text-align: center; + margin-top: 40px; + margin-bottom: 100px; +} +#error-page h4 { + margin-bottom: 40px; +} +#error-page p.buttons { + margin-top: 40px; +} +.pages-listing .item { + text-align: center; +} +.pages-listing .item h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 20px; + letter-spacing: 0.08em; +} +.pages-listing .item h3 a { + color: #555555; +} +.pages-listing .item .text { + margin-bottom: 20px; +} +.pages-listing .item .text p { + color: #999999; + font-size: 12px; + margin-bottom: 20px; +} +.banner { + margin-bottom: 30px; + text-align: center; +} +.banner img { + margin: 0 auto; +} +.banner a:hover img { + opacity: 0.8; + filter: alpha(opacity=80); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.pages { + text-align: center; +} +.pages .loadMore { + text-align: center; +} +.pages .pagination { + text-align: center; +} +.features-buttons button { + margin-bottom: 20px; +} +@media (min-width: 1300px) { + body.boxed { + background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); + } + body.boxed #all { + position: relative; + background: #fff; + width: 1200px; + margin: 0 auto; + overflow: hidden; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + } +} +#top { + background: #555555; + color: #eeeeee; + padding: 10px 0; +} +#top p { + margin: 0; + font-size: 12px; +} +#top .social { + float: right; + text-align: right; +} +#top .social a { + color: #999999; + display: inline-block; + width: 24px; + height: 24px; + border-radius: 12px; + line-height: 24px; + font-size: 12px; + text-align: center; +} +#top .social a:hover { + color: #fff; + background: #986dbd; + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#top .social a:hover.facebook { + background-color: #4460ae; +} +#top .social a:hover.gplus { + background-color: #c21f25; +} +#top .social a:hover.twitter { + background-color: #3cf; +} +#top .social a:hover.instagram { + background-color: #cd4378; +} +#top .social a:hover.email { + background-color: #4a7f45; +} +#top .login { + float: right; +} +#top .login a { + font-size: 12px; + color: #eeeeee; + margin-right: 15px; + text-decoration: none; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.10em; +} +@media (max-width: 767px) { + #top .login { + float: left; + } +} +#top.light { + background: #fff; + color: #999999; + border-bottom: solid 1px #eeeeee; +} +#top.light .login a { + color: #555555; +} +.navbar { + border: none; +} +.navbar ul.nav > li > a { + text-transform: uppercase; + text-decoration: underline; + font-weight: bold; + letter-spacing: 0.08em; + border-top: solid 5px transparent; +} +.navbar ul.nav > li > a:hover { + border-top: solid 5px #986dbd; +} +.navbar ul.nav > li.active > a, +.navbar ul.nav > li.open > a { + text-decoration: none !important; + border-top: solid 5px #653d87; +} +@media (max-width: 768px) { + .navbar ul.nav > li.active > a, + .navbar ul.nav > li.open > a { + border-top-color: transparent; + } + .navbar ul.nav > li > a:hover { + border-top-color: transparent; + } +} +.navbar.navbar-light ul.nav > li.active > a { + border-top: solid 5px #653d87; + background: #fff !important; + color: #555555 !important; +} +.navbar.navbar-light ul.nav > li.active > a:hover { + border-top: solid 5px #653d87; +} +.navbar.navbar-light ul.nav > li > a:hover, +.navbar.navbar-light ul.nav > li.open > a:hover, +.navbar.navbar-light ul.nav > li > a:focus, +.navbar.navbar-light ul.nav > li.open > a:focus { + border-top: solid 5px #986dbd; + background: #fff !important; + color: #555555 !important; +} +.navbar ul.dropdown-menu { + margin: 0; + padding: 0; +} +.navbar ul.dropdown-menu li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 4px 0; +} +.navbar ul.dropdown-menu li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + left: 0; +} +.navbar ul.dropdown-menu li a:hover { + color: #986dbd; + text-decoration: none; + background: none; + left: 2px; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .navbar ul.dropdown-menu li a:hover { + left: 0; + } +} +.navbar .yamm-content h3 { + font-size: 18px; + text-transform: uppercase; + padding-bottom: 10px; + margin-top: 5px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +@media (max-width: 767px) { + .navbar .yamm-content h3 { + font-size: 14px; + } +} +.navbar .yamm-content h5 { + text-transform: uppercase; + padding-bottom: 10px; + border-bottom: dotted 1px #555555; + letter-spacing: 0.08em; +} +.navbar .yamm-content ul { + margin: 0; + padding: 0; +} +.navbar .yamm-content ul li { + list-style-type: none; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + padding: 4px 0; +} +.navbar .yamm-content ul li a { + position: relative; + color: #999999; + font-size: 12px; + display: block; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.navbar .yamm-content ul li a:hover { + color: #986dbd; + text-decoration: none; + padding-left: 2px; +} +.navbar .yamm-content .banner { + margin-bottom: 10px; +} +.navbar .yamm-fw .dropdown-menu { + padding: 0; +} +.navbar .navbar-buttons { + float: right; +} +.navbar .navbar-buttons button, +.navbar .navbar-buttons a.btn, +.navbar .navbar-buttons .btn-default.navbar-toggle { + margin-top: 11px; + margin-bottom: 11px; + margin-left: 0; + margin-right: 5px; +} +.navbar .btn-default, +.navbar .btn-default.navbar-toggle { + color: #999999; + background-color: #fff; + margin-left: 7px; + margin-right: 0; +} +.navbar .btn-default:hover, +.navbar .btn-default.navbar-toggle:hover, +.navbar .btn-default:focus, +.navbar .btn-default.navbar-toggle:focus { + background-color: #fff; + border-color: #986dbd; + color: #986dbd; +} +.navbar #search { + clear: both; + border-top: solid 1px #986dbd; + text-align: right; +} +.navbar #search form { + float: right; +} +.navbar #search form .input-group { + width: 500px; +} +@media (max-width: 768px) { + .navbar #search form .input-group { + width: 100%; + } +} +.navbar #basket-overview a { + margin-left: 7px; +} +.navbar-affixed-top { + top: -32px; +} +.navbar-affixed-top.affix-top { + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +.navbar-affixed-top.affix { + position: fixed; + width: 100%; + top: 0; + z-index: 1000; + -webkit-box-shadow: 0 0 5px #cccccc; + box-shadow: 0 0 5px #cccccc; + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; +} +body.boxed .navbar-affixed-top.affix { + position: static; +} +#login-modal { + overflow: hidden; +} +#login-modal .modal-header h4 { + text-transform: uppercase; +} +#login-modal form { + margin-bottom: 20px; +} +#login-modal a { + color: #986dbd; +} +#login-modal p { + font-weight: 300; + margin-bottom: 20px; + font-size: 13px; +} +/* buttons */ +.btn { + font-weight: 700; + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 0; +} +.input-group .btn { + font-size: 14px; +} +.btn-lg { + padding: 10px 16px; + font-size: 14px; + line-height: 1.33; + border-radius: 0; +} +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} +.btn-template-main { + color: #986dbd; + background-color: #ffffff; + border-color: #986dbd; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + color: #986dbd; + background-color: #e6e6e6; + border-color: #7a4aa3; +} +.btn-template-main:active, +.btn-template-main.active, +.open > .dropdown-toggle.btn-template-main { + background-image: none; +} +.btn-template-main.disabled, +.btn-template-main[disabled], +fieldset[disabled] .btn-template-main, +.btn-template-main.disabled:hover, +.btn-template-main[disabled]:hover, +fieldset[disabled] .btn-template-main:hover, +.btn-template-main.disabled:focus, +.btn-template-main[disabled]:focus, +fieldset[disabled] .btn-template-main:focus, +.btn-template-main.disabled:active, +.btn-template-main[disabled]:active, +fieldset[disabled] .btn-template-main:active, +.btn-template-main.disabled.active, +.btn-template-main[disabled].active, +fieldset[disabled] .btn-template-main.active { + background-color: #ffffff; + border-color: #986dbd; +} +.btn-template-main .badge { + color: #ffffff; + background-color: #986dbd; +} +.btn-template-main:hover, +.btn-template-main:focus, +.btn-template-main:active, +.btn-template-main.active { + background: #986dbd; + color: #ffffff; + border-color: #986dbd; +} +.btn-template-transparent-primary { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active, +.open > .dropdown-toggle.btn-template-transparent-primary { + background-image: none; +} +.btn-template-transparent-primary.disabled, +.btn-template-transparent-primary[disabled], +fieldset[disabled] .btn-template-transparent-primary, +.btn-template-transparent-primary.disabled:hover, +.btn-template-transparent-primary[disabled]:hover, +fieldset[disabled] .btn-template-transparent-primary:hover, +.btn-template-transparent-primary.disabled:focus, +.btn-template-transparent-primary[disabled]:focus, +fieldset[disabled] .btn-template-transparent-primary:focus, +.btn-template-transparent-primary.disabled:active, +.btn-template-transparent-primary[disabled]:active, +fieldset[disabled] .btn-template-transparent-primary:active, +.btn-template-transparent-primary.disabled.active, +.btn-template-transparent-primary[disabled].active, +fieldset[disabled] .btn-template-transparent-primary.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-primary .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-primary:hover, +.btn-template-transparent-primary:focus, +.btn-template-transparent-primary:active, +.btn-template-transparent-primary.active { + background: #fff; + color: #986dbd; + border-color: #fff; +} +.btn-template-transparent-black { + color: #ffffff; + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + color: #ffffff; + background-color: rgba(0, 0, 0, 0); + border-color: #e0e0e0; +} +.btn-template-transparent-black:active, +.btn-template-transparent-black.active, +.open > .dropdown-toggle.btn-template-transparent-black { + background-image: none; +} +.btn-template-transparent-black.disabled, +.btn-template-transparent-black[disabled], +fieldset[disabled] .btn-template-transparent-black, +.btn-template-transparent-black.disabled:hover, +.btn-template-transparent-black[disabled]:hover, +fieldset[disabled] .btn-template-transparent-black:hover, +.btn-template-transparent-black.disabled:focus, +.btn-template-transparent-black[disabled]:focus, +fieldset[disabled] .btn-template-transparent-black:focus, +.btn-template-transparent-black.disabled:active, +.btn-template-transparent-black[disabled]:active, +fieldset[disabled] .btn-template-transparent-black:active, +.btn-template-transparent-black.disabled.active, +.btn-template-transparent-black[disabled].active, +fieldset[disabled] .btn-template-transparent-black.active { + background-color: transparent; + border-color: #ffffff; +} +.btn-template-transparent-black .badge { + color: transparent; + background-color: #ffffff; +} +.btn-template-transparent-black:hover, +.btn-template-transparent-black:focus, +.btn-template-transparent-black:active, +.btn-template-transparent-black.active { + background: #fff; + color: #000; + border-color: #fff; +} +.btn-template-primary { + color: #ffffff; + background-color: #986dbd; + border-color: #986dbd; +} +.btn-template-primary:hover, +.btn-template-primary:focus, +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + color: #ffffff; + background-color: #7f4daa; + border-color: #7a4aa3; +} +.btn-template-primary:active, +.btn-template-primary.active, +.open > .dropdown-toggle.btn-template-primary { + background-image: none; +} +.btn-template-primary.disabled, +.btn-template-primary[disabled], +fieldset[disabled] .btn-template-primary, +.btn-template-primary.disabled:hover, +.btn-template-primary[disabled]:hover, +fieldset[disabled] .btn-template-primary:hover, +.btn-template-primary.disabled:focus, +.btn-template-primary[disabled]:focus, +fieldset[disabled] .btn-template-primary:focus, +.btn-template-primary.disabled:active, +.btn-template-primary[disabled]:active, +fieldset[disabled] .btn-template-primary:active, +.btn-template-primary.disabled.active, +.btn-template-primary[disabled].active, +fieldset[disabled] .btn-template-primary.active { + background-color: #986dbd; + border-color: #986dbd; +} +.btn-template-primary .badge { + color: #986dbd; + background-color: #ffffff; +} +#intro { + background: url('../img/home.jpg') no-repeat center top; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} +#intro .item { + font-family: "Roboto", Helvetica, Arial, sans-serif; + height: 100%; +} +#intro .item h1 { + text-transform: uppercase; + font-size: 50px; + color: #fff; + margin-bottom: 40px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #intro .item h1 { + font-size: 40px; + } +} +@media (max-width: 767px) { + #intro .item h1 { + font-size: 25px; + } +} +#intro .item h3 { + color: #fff; + margin-bottom: 40px; +} +@media (max-width: 767px) { + #intro .item h3 { + font-size: 15px; + margin-bottom: 20px; + } +} +#intro .item .btn { + text-transform: none; +} +@media (max-width: 991px) { + #intro .item .btn { + font-size: 14px; + } +} +@media (max-width: 991px) { + #intro .item .carousel-caption { + left: 10%; + right: 10%; + } +} +#intro .container, +#intro .row { + height: 100%; + position: relative; +} +.jumbotron { + padding: 30px; + margin-bottom: 0; + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.jumbotron .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #986dbd; + opacity: 0.9; + filter: alpha(opacity=90); +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3, +.jumbotron p, +.jumbotron ul { + color: #fff; +} +.jumbotron h1, +.jumbotron h2, +.jumbotron h3 { + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.jumbotron p { + margin-bottom: 20px; + font-size: 21px; + font-weight: 400; +} +.jumbotron p.text-uppercase { + font-weight: 700; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 0; +} +.jumbotron .container { + max-width: 100%; + z-index: 2; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 46px; + } +} +#categoryMenu h3 { + padding: 20px; + background: #f7f7f7; + margin: 0; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.panel.sidebar-menu h3 { + padding: 5px 0; + margin: 0; +} +.panel.sidebar-menu { + background: #fff; + margin: 0 0 20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.panel.sidebar-menu .panel-heading { + text-transform: uppercase; + margin-bottom: 10px; + background: none; + padding: 0; + letter-spacing: 0.08em; + border-bottom: none; +} +.panel.sidebar-menu .panel-heading h1, +.panel.sidebar-menu .panel-heading h2, +.panel.sidebar-menu .panel-heading h3, +.panel.sidebar-menu .panel-heading h4, +.panel.sidebar-menu .panel-heading h5 { + display: inline-block; + border-bottom: solid 5px #986dbd; + line-height: 1.1; + margin-bottom: 0; + padding-bottom: 10px; +} +.panel.sidebar-menu .panel-heading .btn.btn-danger { + color: #fff; + margin-top: 5px; +} +.panel.sidebar-menu .panel-body { + padding: 0; +} +.panel.sidebar-menu .panel-body span.colour { + display: inline-block; + width: 15px; + height: 15px; + border: solid 1px #555555; + vertical-align: top; + margin-top: 2px; + margin-left: 5px; +} +.panel.sidebar-menu .panel-body span.colour.white { + background: #fff; +} +.panel.sidebar-menu .panel-body span.colour.red { + background: red; +} +.panel.sidebar-menu .panel-body span.colour.green { + background: green; +} +.panel.sidebar-menu .panel-body span.colour.blue { + background: blue; +} +.panel.sidebar-menu .panel-body span.colour.yellow { + background: yellow; +} +.panel.sidebar-menu .panel-body label { + color: #999999; + font-size: 12px; +} +.panel.sidebar-menu .panel-body label:hover { + color: #555555; +} +.panel.sidebar-menu ul.nav.category-menu { + margin-bottom: 20px; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0.08em; +} +.panel.sidebar-menu ul.nav.category-menu li a { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.panel.sidebar-menu ul.nav ul { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.nav ul li { + display: block; +} +.panel.sidebar-menu ul.nav ul li a { + position: relative; + font-family: "Times New Roman", Times, serif; + font-weight: normal; + text-transform: none !important; + display: block; + padding: 10px 15px; + padding-left: 30px; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.nav ul li a:hover, +.panel.sidebar-menu ul.nav ul li a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.panel.sidebar-menu ul.tag-cloud { + list-style: none; + padding-left: 0; +} +.panel.sidebar-menu ul.tag-cloud li { + display: inline-block; +} +.panel.sidebar-menu ul.tag-cloud li a { + display: inline-block; + padding: 5px; + border: solid 1px #eeeeee; + border-radius: 0; + color: #986dbd; + margin: 5px 5px 5px 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + font-size: 12px; + text-decoration: none; +} +.panel.sidebar-menu ul.tag-cloud li a:hover { + color: #986dbd; + border-color: #986dbd; +} +.panel.sidebar-menu ul.tag-cloud li.active a { + color: #FFFFFF; + background-color: #986dbd; +} +.panel.sidebar-menu ul.tag-cloud li.active a:hover { + color: #FFFFFF; +} +.panel.sidebar-menu ul.popular, +.panel.sidebar-menu ul.recent { + list-style: none; + padding-left: 0; + padding: 20px 0; +} +.panel.sidebar-menu ul.popular li, +.panel.sidebar-menu ul.recent li { + margin-bottom: 10px; + padding: 5px 0; + border-bottom: dotted 1px #eeeeee; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li:before, +.panel.sidebar-menu ul.recent li:before, +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + content: " "; + display: table; +} +.panel.sidebar-menu ul.popular li:after, +.panel.sidebar-menu ul.recent li:after { + clear: both; +} +.panel.sidebar-menu ul.popular li img, +.panel.sidebar-menu ul.recent li img { + width: 50px; + margin-right: 10px; +} +.panel.sidebar-menu ul.popular li h5, +.panel.sidebar-menu ul.recent li h5 { + margin: 0 0 10px; +} +.panel.sidebar-menu ul.popular li h5 a, +.panel.sidebar-menu ul.recent li h5 a { + font-weight: normal; +} +.panel.sidebar-menu ul.popular li p.date, +.panel.sidebar-menu ul.recent li p.date { + float: right; + font-size: 12px; + color: #999999; +} +.panel.sidebar-menu ul.popular li:last-child, +.panel.sidebar-menu ul.recent li:last-child { + border-bottom: none; +} +.panel.sidebar-menu .text-widget { + font-size: 12px; +} +.panel.sidebar-menu.with-icons ul.nav li a:after { + font-family: 'FontAwesome'; + content: "\f105"; + position: relative; + top: 0; + float: right; +} +/* ribbons for product sales etc. */ +.ribbon { + position: absolute; + top: 50px; + padding-left: 51px; + font-weight: 700; + letter-spacing: 0.08em; +} +.ribbon .ribbon-background { + position: absolute; + top: 0; + right: 0; +} +.ribbon .theribbon { + position: relative; + width: 80px; + padding: 6px 20px 6px 20px; + margin: 30px 10px 10px -71px; + color: #fff; + background-color: #986dbd; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.ribbon .theribbon:before, +.ribbon .theribbon:after { + content: ' '; + position: absolute; + width: 0; + height: 0; +} +.ribbon .theribbon:after { + left: 0px; + top: 100%; + border-width: 5px 10px; + border-style: solid; + border-color: #000000 #000000 transparent transparent; +} +.ribbon.sale { + top: 0; +} +.ribbon.new { + top: 50px; +} +.ribbon.new .theribbon { + background-color: #5bc0de; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.new .theribbon:after { + border-color: #2390b0 #2390b0 transparent transparent; +} +.ribbon.gift { + top: 100px; +} +.ribbon.gift .theribbon { + background-color: #5cb85c; + text-shadow: 0px 1px 2px #bbb; +} +.ribbon.gift .theribbon:after { + border-color: #357935 #357935 transparent transparent; +} +.owl-carousel .owl-controls .owl-page.active span, +.owl-theme .owl-controls .owl-page.active span, +.owl-carousel .owl-controls.clickable .owl-page:hover span, +.owl-theme .owl-controls.clickable .owl-page:hover span { + background: #986dbd; +} +.owl-carousel .owl-controls .owl-buttons, +.owl-theme .owl-controls .owl-buttons { + position: absolute; + top: 5px; + right: 0; +} +.owl-carousel .owl-controls .owl-buttons div, +.owl-theme .owl-controls .owl-buttons div { + width: 26px; + height: 26px; + line-height: 25px; + margin: 0 5px 0 0; + font-size: 18px; + color: #986dbd; + padding: 0; + background: #fff; + border-radius: 13px; + vertical-align: middle; + text-align: center; + opacity: 1; + filter: alpha(opacity=100); +} +.home-carousel { + position: relative; + background: url('../img/photogrid.jpg') center center repeat; + background-size: cover; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.home-carousel .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #986dbd; + opacity: 0.9; + filter: alpha(opacity=90); +} +.home-carousel .owl-carousel { + padding-top: 60px; + padding-bottom: 20px; +} +.home-carousel .owl-theme .owl-controls .owl-page span { + background: #666; +} +.home-carousel .owl-theme .owl-controls .owl-page.active span { + background: #fff; +} +.home-carousel .owl-theme .owl-controls .owl-page:hover span { + background: #fff; +} +@media (max-width: 767px) { + .home-carousel { + text-align: center !important; + } +} +@media (min-width: 992px) { + .home-carousel .right { + text-align: right; + } +} +.home-carousel h1, +.home-carousel h2, +.home-carousel h3, +.home-carousel p, +.home-carousel ul { + color: #fff; +} +.home-carousel h1 { + font-weight: 700; + text-transform: uppercase; + font-size: 46px; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + .home-carousel h1 { + font-size: 36px; + } +} +.home-carousel h2 { + font-weight: 700; + text-transform: uppercase; + font-size: 40px; + letter-spacing: 0.08em; +} +.home-carousel ul, +.home-carousel p { + font-size: 18px; + font-weight: 700; + padding: 0; + text-transform: uppercase; + letter-spacing: 0.10em; +} +@media (max-width: 991px) { + .home-carousel ul, + .home-carousel p { + font-size: 14px; + } +} +.home-carousel ul li { + margin-bottom: 10px; +} +.customers { + padding: 0; + margin-bottom: 40px; +} +.customers .item { + list-style-type: none; + text-align: center; + margin: 0 20px; +} +.customers .item img { + display: inline-block; + filter: url("data:image/svg+xml;utf8,#grayscale"); + /* Firefox 10+, Firefox on Android */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+, Safari 6+, Safari 6+ iOS */ + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.customers .item img:hover { + max-width: auto; + filter: none; + -webkit-filter: none; +} +.testimonials { + padding: 0; + margin-bottom: 40px; +} +.testimonials .item { + list-style-type: none; + margin: 0 5px; + background: #fff; + padding-bottom: 60px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.testimonials .item .testimonial { + position: relative; + padding: 20px; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial:before, +.testimonials .item .testimonial:after { + content: " "; + display: table; +} +.testimonials .item .testimonial:after { + clear: both; +} +.testimonials .item .testimonial .text { + color: #999999; + margin-bottom: 40px; +} +.testimonials .item .testimonial .bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + height: 50px; +} +.testimonials .item .testimonial .bottom .icon { + color: #986dbd; + font-size: 30px; + float: left; + width: 20%; +} +.testimonials .item .testimonial .name-picture { + float: right; + width: 80%; + text-align: right; +} +.testimonials .item .testimonial .name-picture h5 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.testimonials .item .testimonial .name-picture p { + color: #999999; + margin: 0; + font-size: 12px; +} +.testimonials .item .testimonial .name-picture img { + float: right; + width: 60px; + border-radius: 30px; + margin-left: 10px; +} +.team-member { + text-align: center; + margin-bottom: 40px; +} +.team-member h3 { + font-size: 18px; + text-transform: uppercase; + margin-bottom: 5px; + letter-spacing: 0.08em; +} +.team-member h3 a { + color: #555555; +} +.team-member p.role { + color: #999999; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.06em; +} +.team-member .social { + margin-bottom: 20px; +} +.team-member .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email { + background-color: #4a7f45; +} +.team-member .text p { + color: #999999; + font-size: 12px; +} +.team-member .social, +.team-member-detail .social { + margin-bottom: 20px; +} +.team-member .social a, +.team-member-detail .social a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +.team-member .social a i, +.team-member-detail .social a i { + vertical-align: bottom; + line-height: 26px; +} +.team-member .social a.facebook, +.team-member-detail .social a.facebook { + background-color: #4460ae; +} +.team-member .social a.gplus, +.team-member-detail .social a.gplus { + background-color: #c21f25; +} +.team-member .social a.twitter, +.team-member-detail .social a.twitter { + background-color: #3cf; +} +.team-member .social a.instagram, +.team-member-detail .social a.instagram { + background-color: #cd4378; +} +.team-member .social a.email, +.team-member-detail .social a.email { + background-color: #4a7f45; +} +.box-simple { + text-align: center; + margin-bottom: 40px; +} +.box-simple .icon { + color: #986dbd; + border-color: #986dbd; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.box-simple h3 { + font-weight: normal; + font-size: 18px; + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-simple h3 a { + color: #555555; +} +.box-simple p { + color: #999999; +} +.box-simple:hover .icon { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.box-simple:hover .icon i { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} +.box-simple.box-white { + padding: 20px; + border: dotted 1px #999999; +} +.box-simple.box-white .icon { + color: #555555; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark { + padding: 20px; + border: dotted 1px #999999; + background: #555555; + color: #fff; +} +.box-simple.box-dark .icon { + color: #f7f7f7; + border-color: transparent; + font-size: 70px; +} +.box-simple.box-dark h3 { + color: #fff; +} +.box-simple.box-dark h3 a { + color: #fff; +} +.box-simple.box-dark p { + color: #fff; +} +.box-image { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #986dbd; +} +.box-image .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +.box-image-text { + position: relative; + overflow: hidden; + text-align: center; + margin: 15px 0; +} +.box-image-text .top { + position: relative; + margin-bottom: 10px; +} +.box-image-text .top .bg { + position: absolute; + top: auto; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity=0); + background: #986dbd; +} +.box-image-text .top .name { + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .top .name h3 { + color: #fff; + text-transform: uppercase; + font-size: 18px; + letter-spacing: 0.08em; +} +.box-image-text .top .name h3 a { + color: #fff; + text-decoration: none; +} +.box-image-text .top .text { + position: absolute; + width: 100%; + height: 50%; + top: 0; + -webkit-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + color: #fff; + padding: 0 20px; +} +.box-image-text .content h3, +.box-image-text .content h4 { + text-transform: uppercase; + line-height: 1.5; + color: #555555; + font-weight: 800; + letter-spacing: 0.08em; +} +.box-image-text .content p { + color: #999999; +} +.box-image-text:hover .bg { + opacity: 0.7; + filter: alpha(opacity=70); +} +.box-image-text:hover .name { + position: absolute; + -webkit-transform: translate(0, -75%); + -ms-transform: translate(0, -75%); + -o-transform: translate(0, -75%); + transform: translate(0, -75%); +} +.box-image-text:hover .text { + position: absolute; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); +} +/* universal box */ +.box { + background: #fff; + margin: 0 0 30px; + border: solid 1px #ccc; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 20px 0; + border-left: none; + border-right: none; +} +.box .box-header { + background: #f7f7f7; + margin: -20px 0 20px; + padding: 20px; + border-bottom: solid 1px #eeeeee; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-header:before, +.box .box-header:after { + content: " "; + display: table; +} +.box .box-header:after { + clear: both; +} +.box .box-footer { + background: #f7f7f7; + margin: 30px 0 -20px; + padding: 20px; + border-top: solid 1px #eeeeee; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +.box .box-footer:before, +.box .box-footer:after { + content: " "; + display: table; +} +.box .box-footer:after { + clear: both; +} +@media (max-width: 991px) { + .box .box-footer .btn { + margin-bottom: 20px; + } +} +.box.no-border { + border: none; +} +#heading-breadcrumbs { + background: url('../img/texture-violet.png') center center repeat; + padding: 20px 0; + margin-bottom: 40px; +} +#heading-breadcrumbs.no-mb { + margin-bottom: 0; +} +#heading-breadcrumbs h1 { + color: #333333; + text-transform: uppercase; + font-size: 30px; + font-weight: 700; + letter-spacing: 0.08em; +} +@media (max-width: 991px) { + #heading-breadcrumbs h1 { + text-align: center; + } +} +#heading-breadcrumbs ul.breadcrumb { + margin-top: 5px; + margin-bottom: 0; +} +.bar { + position: relative; + background: #986dbd; + padding: 60px 0; +} +.bar.background-pentagon { + background: url('../img/texture-violet.png') center center repeat; + border-top: solid 1px #999999; + border-bottom: solid 1px #999999; +} +.bar.background-gray { + background: #eeeeee; +} +.bar.background-gray-dark { + background: #555555; +} +.bar.background-white { + background: #fff; +} +.bar.background-image-fixed-1 { + background: url('../img/fixed-background-1.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.background-image-fixed-2 { + background: url('../img/fixed-background-2.jpg') center top no-repeat; + background-attachment: fixed; + background-size: cover; +} +.bar.color-white h1, +.bar.color-white h2, +.bar.color-white h3, +.bar.color-white h4, +.bar.color-white h5, +.bar.color-white h6, +.bar.color-white p { + color: #fff; +} +.bar.padding-big { + padding: 50px 0; +} +.bar.padding-horizontal { + padding-left: 30px; + padding-right: 30px; +} +.bar.margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.bar .dark-mask { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0.3; + filter: alpha(opacity=30); +} +.portfolio.no-space { + padding: 0 15px; +} +.portfolio.no-space .box-image { + margin: 0 -15px; +} +.portfolio-project .project-more h4 { + color: #555555; + text-transform: uppercase; + margin-bottom: 0; + text-align: left; + font-size: 14px; + letter-spacing: 0.08em; +} +.portfolio-project .project-more p { + color: #999999; + padding: 10px 0; + margin-bottom: 20px; + text-align: left; +} +.portfolio-showcase { + margin: 15px 0 60px; +} +.portfolio-showcase h3 a { + text-transform: uppercase; + line-height: 1.5; + letter-spacing: 0.08em; +} +.portfolio-showcase p.lead { + color: #555555; + margin-bottom: 20px; +} +.portfolio-showcase p { + color: #999999; +} +.portfolio-showcase p.buttons { + margin-top: 40px; +} +.see-more { + text-align: center; + margin-top: 20px; + padding-top: 20px; +} +.see-more p { + font-size: 28px; + font-weight: 100; + margin-bottom: 20px; +} +.showcase .item { + text-align: center; +} +.showcase .item .icon { + display: inline-block; + width: 50px; + height: 50px; + color: #555555; + line-height: 50px; + border-radius: 25px; + border: solid 1px #555555; +} +.showcase .item h4 { + color: #555555; + text-transform: uppercase; + letter-spacing: 0.08em; + line-height: 1.5; + font-size: 16px; +} +.showcase .item h4 span { + font-weight: bold; + font-size: 51px; +} +.packages .package { + background: #fff; + margin-top: 25px; + margin-bottom: 20px; + padding-bottom: 15px; + text-align: center; + border: solid 1px #986dbd; + overflow: hidden; +} +.packages .package .package-header { + height: 57px; + color: #fff; + line-height: 57px; + background: #986dbd; +} +.packages .package .package-header h5 { + color: #fff; + text-transform: uppercase; + font-weight: bold; + line-height: 57px; + margin: 0; + letter-spacing: 0.08em; +} +.packages .package .package-header.light-gray { + background: #eeeeee; +} +.packages .package .package-header.light-gray h5 { + color: #555555; +} +.packages .package .price { + line-height: 120px; + height: 100px; + color: #fff; + font-weight: 400; +} +.packages .package .price h4 { + display: inline; + font-size: 50px; + line-height: normal; + margin-bottom: 0; +} +.packages .package .price .period { + line-height: normal; + color: #999999; +} +.packages .package ul { + padding: 0; +} +.packages .package ul li { + list-style-type: none; + padding-top: 10px; + padding-bottom: 10px; + width: 80%; + margin: auto; + border-bottom: 1px dotted #ccc; +} +.packages .package ul li:last-child { + border-bottom: 0; +} +.packages .package ul li i { + font-size: 13px; + margin-right: 5px; +} +.packages .best-value .package { + margin-top: 0; + padding-bottom: 40px; +} +.packages .best-value .package .package-header { + height: 72px; + padding-top: 17px; + height: 82px !important; +} +.packages .best-value .package .package-header h5 { + font-weight: bold; + line-height: 29px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.packages .best-value .package .package-header .meta-text { + font-size: 13px; + line-height: 15px; +} +#map { + height: 300px; +} +#map.with-border { + border-top: solid 1px #986dbd; + border-bottom: solid 1px #986dbd; +} +#blog-listing-big .post, +#blog-homepage .post { + margin-bottom: 60px; +} +#blog-listing-big .post h2, +#blog-homepage .post h2, +#blog-listing-big .post h4, +#blog-homepage .post h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#blog-listing-big .post h2 a, +#blog-homepage .post h2 a, +#blog-listing-big .post h4 a, +#blog-homepage .post h4 a { + color: #555555; +} +#blog-listing-big .post h2 a:hover, +#blog-homepage .post h2 a:hover, +#blog-listing-big .post h4 a:hover, +#blog-homepage .post h4 a:hover { + color: #986dbd; +} +#blog-listing-big .post .author-category, +#blog-homepage .post .author-category { + color: #999999; + text-transform: uppercase; + font-weight: 300; + letter-spacing: 0.08em; +} +#blog-listing-big .post .author-category a, +#blog-homepage .post .author-category a { + font-weight: 500; +} +#blog-listing-big .post .date-comments a, +#blog-homepage .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-big .post .date-comments a:hover, +#blog-homepage .post .date-comments a:hover { + color: #986dbd; +} +@media (min-width: 768px) { + #blog-listing-big .post .date-comments, + #blog-homepage .post .date-comments { + text-align: right; + } +} +#blog-listing-big .post .intro, +#blog-homepage .post .intro { + text-align: left; +} +#blog-listing-big .post .image, +#blog-homepage .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-big .post .image img, +#blog-homepage .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-big .post .image img.img-responsive, + #blog-homepage .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-big .post .video, +#blog-homepage .post .video { + margin-bottom: 10px; +} +#blog-listing-big .post .read-more, +#blog-homepage .post .read-more { + text-align: right; +} +#blog-listing-medium .post { + margin-bottom: 60px; +} +#blog-listing-medium .post h2 { + text-transform: uppercase; + margin: 0 0 10px; + font-size: 24px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post h2 a { + color: #555555; +} +#blog-listing-medium .post h2 a:hover { + color: #986dbd; +} +#blog-listing-medium .post .author-category { + float: left; + color: #999999; + text-transform: uppercase; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.08em; +} +#blog-listing-medium .post .author-category a { + font-weight: 500; +} +#blog-listing-medium .post .date-comments { + float: right; + font-size: 12px; +} +#blog-listing-medium .post .date-comments a { + color: #999999; + margin-right: 20px; +} +#blog-listing-medium .post .date-comments a:hover { + color: #986dbd; +} +@media (min-width: 768px) { + #blog-listing-medium .post .date-comments { + text-align: right; + } +} +#blog-listing-medium .post .intro { + text-align: left; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .clearfix:before, +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:before, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:before, +#blog-listing-medium .post .navbar-header:after { + content: " "; + display: table; +} +#blog-listing-medium .post .clearfix:after, +#blog-listing-medium .post .navbar:after, +#blog-listing-medium .post .navbar-header:after { + clear: both; +} +#blog-listing-medium .post .image { + margin-bottom: 10px; + overflow: hidden; +} +#blog-listing-medium .post .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + #blog-listing-medium .post .image img.img-responsive { + min-width: 100%; + } +} +#blog-listing-medium .post .video { + margin-bottom: 10px; +} +#blog-listing-medium .post .read-more { + text-align: right; +} +.box-image-text.blog .author-category { + color: #999999; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 300; + font-size: 12px; +} +.box-image-text.blog .author-category a { + font-weight: 500; +} +.box-image-text.blog .intro { + text-align: left; + margin-bottom: 20px; +} +#blog-homepage .post { + margin-bottom: 30px; +} +#blog-homepage .post h2, +#blog-homepage .post h4, +#blog-homepage .post .author-category, +#blog-homepage .post .read-more { + text-align: center; +} +#blog-homepage .post .read-more { + margin-top: 20px; +} +#blog-post #post-content { + margin-bottom: 20px; +} +#blog-post .comment { + margin-bottom: 25px; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment:before, +#blog-post .comment:after { + content: " "; + display: table; +} +#blog-post .comment:after { + clear: both; +} +#blog-post .comment .posted { + color: #999999; + font-size: 12px; +} +#blog-post .comment .reply { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#blog-post .comment.last { + margin-bottom: 0; +} +#blog-post #comments, +#blog-post #comment-form { + padding: 20px 0; + margin-top: 20px; + border-top: solid 1px #eeeeee; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments:before, +#blog-post #comment-form:before, +#blog-post #comments:after, +#blog-post #comment-form:after { + content: " "; + display: table; +} +#blog-post #comments:after, +#blog-post #comment-form:after { + clear: both; +} +#blog-post #comments h4, +#blog-post #comment-form h4 { + margin-bottom: 20px; +} +#blog-post #comment-form { + margin-bottom: 20px; +} +.product { + background: #fff; + border-bottom: solid 1px #e6e6e6; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 60px; + overflow: hidden; + text-align: center; +} +.product .image { + overflow: hidden; +} +.product .image img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +@media (max-width: 767px) { + .product .image img.img-responsive { + min-width: 100%; + } +} +.product .text { + padding: 10px; +} +.product .text h3 { + font-size: 14px; + font-weight: 700; + height: 39.6px; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.product .text h3 a { + color: #555555; +} +.product .text h3 a:hover { + text-decoration: none; +} +.product .text p.price { + font-size: 18px; +} +.product .text p.price del { + color: #999999; +} +.product .buttons { + clear: both; + position: absolute; + display: none; + bottom: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: solid 1px transparent; + padding: 20px; + background: rgba(255, 255, 255, 0.9); + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + text-align: center; +} +.product .buttons .btn { + margin-bottom: 20px; +} +.product:hover { + border-bottom: solid 1px #808080; + top: 0; +} +.product:hover .buttons { + clear: both; + position: absolute; + top: 0; + background: rgba(255, 255, 255, 0.5); +} +.product:hover .image img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +.goToDescription { + font-size: 12px; + text-align: center; + margin-bottom: 40px; +} +.goToDescription a { + color: #999999; + text-decoration: underline; +} +#productMain { + margin-bottom: 30px; +} +#productMain .sizes { + text-align: center; +} +#productMain .sizes h3 { + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 40px; +} +#productMain .sizes a { + display: inline-block; + width: 40px; + height: 40px; + border-radius: 40px; + background: #ccc; + line-height: 40px; + color: #555555; + text-align: center; + text-decoration: none; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +#productMain .sizes a.active, +#productMain .sizes a:hover { + background: #986dbd; + color: #fff; +} +#productMain .sizes input { + display: none; +} +#productMain .price { + font-size: 40px; + text-align: center; + margin-top: 40px; + margin-bottom: 40px; +} +#thumbs a { + display: block; + border: solid 1px transparent; +} +#thumbs a.active { + border-color: #986dbd; +} +#product-social { + text-align: center; +} +#product-social h4 { + font-weight: 300; + margin-bottom: 10px; +} +#product-social p { + line-height: 26px; +} +#product-social p a { + margin: 0 10px 0 0; + color: #fff; + display: inline-block; + width: 26px; + height: 26px; + border-radius: 13px; + line-height: 26px; + font-size: 15px; + text-align: center; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + vertical-align: bottom; +} +#product-social p a i { + vertical-align: bottom; + line-height: 26px; +} +#product-social p a.facebook { + background-color: #4460ae; +} +#product-social p a.gplus { + background-color: #c21f25; +} +#product-social p a.twitter { + background-color: #3cf; +} +#product-social p a.instagram { + background-color: #cd4378; +} +#product-social p a.email { + background-color: #4a7f45; +} +@media (max-width: 991px) { + #product-social { + text-align: center; + } +} +#checkout .nav { + margin-bottom: 20px; + border-bottom: solid 1px #986dbd; +} +#checkout .nav li { + height: 100%; +} +#checkout .nav li a { + display: block; + height: 100%; +} +#order-summary table { + margin-top: 20px; +} +#order-summary table td { + color: #999999; +} +#order-summary table tr.total td, +#order-summary table tr.total th { + font-size: 18px; + color: #555555; + font-weight: 700; +} +#checkout .table tbody tr td, +#basket .table tbody tr td, +#customer-order .table tbody tr td { + vertical-align: middle; +} +#checkout .table tbody tr td input, +#basket .table tbody tr td input, +#customer-order .table tbody tr td input { + width: 50px; + text-align: right; +} +#checkout .table tbody tr td img, +#basket .table tbody tr td img, +#customer-order .table tbody tr td img { + width: 50px; +} +#checkout .table tfoot, +#basket .table tfoot, +#customer-order .table tfoot { + font-size: 18px; +} +.shipping-method h4, +.payment-method h4 { + text-transform: uppercase; + letter-spacing: 0.08em; +} +#customer-orders table tr th, +#customer-orders table tr td { + vertical-align: baseline; +} +#customer-order .table tfoot th { + font-size: 18px; + font-weight: 300; +} +#customer-order .addresses { + text-align: right; + margin-bottom: 30px; +} +#customer-order .addresses p { + font-size: 18px; + font-weight: 300; +} +#customer-account { + margin-bottom: 30px; +} +#get-it { + background: #986dbd; + padding: 50px 0 30px; + color: #fff; + text-align: center; +} +#get-it h1, +#get-it h2, +#get-it h3, +#get-it h4, +#get-it h5, +#get-it h6 { + color: #fff; + text-transform: uppercase; + letter-spacing: 0.08em; + margin: 0 0 20px; +} +#get-it p { + margin: 0 0 20px; +} +#footer { + background: #555555; + padding: 50px 0; + color: #999999; +} +#footer h1, +#footer h2, +#footer h3, +#footer h4, +#footer h5, +#footer h6 { + color: #eeeeee; +} +#footer h4 { + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} +#footer ul { + padding-left: 0; + list-style: none; +} +#footer ul a { + color: #999999; +} +#footer ul a:hover { + color: #986dbd; + text-decoration: none; +} +#footer .photostream div { + float: left; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 33%; + padding: 7.5px; + overflow: hidden; +} +#footer .photostream div a { + border: solid 1 px #eeeeee; +} +#footer .photostream div img { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#footer .photostream div:hover img { + -webkit-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} +#footer .blog-entries .item { + clear: both; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: solid 1px #555555; +} +#footer .blog-entries .item .image { + float: left; + width: 15%; + margin-right: 10px; +} +#footer .blog-entries .item .name { + width: 75%; + margin-left: 10px; + display: table-cell; + vertical-align: middle; +} +#footer .blog-entries .item .name h5 { + margin: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + font-size: 12px; +} +#footer .blog-entries .item .name h5 a { + color: #eeeeee; +} +#footer .blog-entries .item .text { + width: 100%; + clear: both; +} +#footer .blog-entries .item:last-child { + border-bottom: none; + margin-bottom: 0; +} +#footer .social a { + color: #555555; + font-size: 25px; + margin: 0 10px 0 0; +} +#footer .social a:hover { + color: #986dbd; +} +#copyright { + background: #333; + color: #ccc; + padding: 50px 0; + font-size: 12px; + line-height: 28px; +} +#copyright p { + margin: 0; +} +@media (max-width: 991px) { + #copyright p { + float: none !important; + text-align: center; + margin-bottom: 10px; + } +} +[data-animate] { + opacity: 0; + filter: alpha(opacity=0); +} +#style-switch-button { + position: fixed; + top: 100px; + left: 0px; + border-radius: 0; +} +#style-switch { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 300px; + padding: 20px; + position: fixed; + top: 140px; + left: 0; + background: #fff; + border: solid 1px #eeeeee; +} +@media (max-width: 991px) { + #style-switch-button { + display: none; + } + #style-switch { + display: none; + } +} +/* Original Boostrap template overwrite */ +/* breadcrumbs */ +.breadcrumb { + font-family: "Roboto", Helvetica, Arial, sans-serif; + text-transform: uppercase; + background-color: none; + letter-spacing: 0.08em; +} +/* nav */ +.nav > li > a { + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #986dbd; +} +.nav-tabs { + border-bottom: 1px solid #986dbd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #986dbd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #986dbd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: solid 1px #986dbd; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #986dbd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #986dbd; + border-radius: 0 0 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 0; +} +.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: #ffffff; + background-color: #986dbd; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; + border-bottom: solid 1px #986dbd; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + /*margin-bottom: 5px;*/ +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #986dbd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #986dbd; + border-radius: 0 0 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content { + padding: 15px; + border: solid 1px #ddd; + border-top: none; +} +/* navbar */ +.navbar { + position: relative; + min-height: 62px; + margin-bottom: 0; + border-bottom: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; +} +.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-affixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-affixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@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: 10px 15px; + font-size: 18px; + line-height: 20px; + height: 62px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@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: 14px; + margin-bottom: 14px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-nav { + margin: 10.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .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: 20px; + } + .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: 21px; + padding-bottom: 21px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 14px; + margin-bottom: 14px; +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.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 { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-btn.btn-sm { + margin-top: 16px; + margin-bottom: 16px; +} +.navbar-btn.btn-xs { + margin-top: 20px; + margin-bottom: 20px; +} +.navbar-text { + margin-top: 21px; + margin-bottom: 21px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: #cccccc; + border-bottom: none; +} +.navbar-default .navbar-brand { + color: #555555; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #3b3b3b; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #555555; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #555555; + background-color: #cab3dd; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #986dbd; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #986dbd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #cccccc; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #986dbd; + color: #ffffff; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #555555; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #986dbd; + } + .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: #ffffff; + background-color: #986dbd; + } + .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: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #555555; +} +.navbar-default .navbar-link:hover { + color: #555555; +} +.navbar-default .btn-link { + color: #555555; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #555555; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +/* scaffolding */ +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +a { + color: #986dbd; + text-decoration: none; +} +a:hover, +a:focus { + color: #724599; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.img-rounded { + border-radius: 0; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +/* breadcrumbs */ +.breadcrumb { + padding: 20px 0; + margin-bottom: 20px; + background-color: transparent; + border-radius: 0; + text-align: right; +} +.breadcrumb > li + li:before { + content: ">\00a0"; + color: #555555; +} +.breadcrumb > .active { + color: #999999; +} +@media (max-width: 991px) { + .breadcrumb { + padding: 20px 0; + text-align: center; + } +} +/* dropdowns */ +.dropdown-menu { + z-index: 1000; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + padding: 5px 20px; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +/* labels */ +.label { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: normal; + text-transform: uppercase; + letter-spacing: 0.08em; +} +/* forms.less */ +label { + font-weight: normal; +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; +} +.form-control:focus { + border-color: #986dbd; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(152, 109, 189, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(152, 109, 189, 0.6); +} +.form-group { + margin-bottom: 20px; +} +/* pager*/ +.pager { + margin: 20px 0; + border-top: solid 1px #eeeeee; + padding-top: 20px; + text-transform: uppercase; + letter-spacing: 0.08em; + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + background-color: #ffffff; + border: 1px solid #986dbd; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + color: #fff; + background-color: #986dbd; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: #ddd; +} +/* pagination */ +.pagination { + margin: 20px 0; + font-family: "Roboto", Helvetica, Arial, sans-serif; + border-radius: 0; +} +.pagination > li > a, +.pagination > li > span { + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #986dbd; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #986dbd; + background-color: #e2d6ed; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #986dbd; + border-color: #986dbd; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: #dddddd; +} +/* responsive utilities */ +@media (max-width: 767px) { + .text-center-xs { + text-align: center !important; + } + .text-center-xs img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .text-center-sm { + text-align: center !important; + } + .text-center-sm img { + display: block; + margin-left: auto; + margin-right: auto; + } +} +/* type */ +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-weight: 900; + line-height: 1.1; + color: #333333; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 20px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 18px; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +.text-small { + font-size: 12px; +} +.text-large { + font-size: 18px; +} +.text-italic { + font-style: italic; +} +.text-primary { + color: #986dbd; +} +a.text-primary:hover { + color: #7f4daa; +} +.bg-primary { + color: #fff; + background-color: #986dbd; +} +a.bg-primary:hover { + background-color: #7f4daa; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 1px dotted #999999; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 14px; + border-left: 5px solid #986dbd; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + border-right: 5px solid #986dbd; +} +address { + margin-bottom: 20px; + line-height: 1.42857143; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 0 0; + box-shadow: 0 0 0; +} +.panel-heading { + border-top-right-radius: 0; + border-top-left-radius: 0; + text-transform: uppercase; + letter-spacing: 0.08em; + padding: 15px 15px; +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group.accordion .panel { + border-color: #ccc; +} +.panel-primary { + border-color: #986dbd; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #986dbd; + border-color: #986dbd; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #986dbd; +} +.panel-primary > .panel-heading .badge { + color: #986dbd; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #986dbd; +} +.panel-primary .panel-title { + font-weight: 300; +} +.panel-primary .panel-title a:hover { + color: #fff; + text-decoration: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #986dbd; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.progress-bar-primary { + background-color: #986dbd; +} +.progress-striped .progress-bar-primary { + 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); +} +/*! + * Yamm!3 - Yet another megamenu for Bootstrap 3 + * http://geedmo.github.com/yamm3 + * + * @geedmo - Licensed under the MIT license + */ +.yamm .nav, +.yamm .collapse, +.yamm .dropup.use-yamm, +.yamm .dropdown.use-yamm { + position: static; +} +.yamm .container { + position: relative; +} +.yamm .dropdown-menu { + left: auto; +} +.yamm .nav.navbar-right .dropdown-menu { + left: auto; + right: 0; +} +.yamm .yamm-content { + padding: 20px 30px; +} +.yamm .dropdown.yamm-fw .dropdown-menu { + left: 15px; + right: 15px; +} diff --git a/public/faq/index.html b/public/faq/index.html new file mode 100644 index 0000000..d23443f --- /dev/null +++ b/public/faq/index.html @@ -0,0 +1,372 @@ + + + + + + + + + + GitHub + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+
+
+
+

GitHub

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

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

+

1. WHAT TO DO IF I HAVE STILL NOT RECEIVED THE ORDER?

+

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

+
    +
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • +
  • Aliquam tincidunt mauris eu risus.
  • +
  • Vestibulum auctor dapibus neque.
  • +
+

2. WHAT ARE THE POSTAL RATES?

+

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven’t heard of them accusamus labore sustainable VHS.

+

3. DO YOU SEND OVERSEAS?

+

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven’t heard of them accusamus labore sustainable VHS.

+

4. WHY ARE YOU MORE EXPENSIVE THAN OTHERS?

+

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

+
    +
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • +
  • Aliquam tincidunt mauris eu risus.
  • +
  • Vestibulum auctor dapibus neque.
  • +
+

5. ANOTHER IMPORTANT QUESTION

+

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

+
    +
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • +
  • Aliquam tincidunt mauris eu risus.
  • +
  • Vestibulum auctor dapibus neque.
  • +
+
+
+

In case you haven’t found the answer for your question please feel free to contact us, our customer support will be happy to help you.

+
+ +
+ +
+ +
+ + +
+ + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/github/index.html b/public/github/index.html new file mode 100644 index 0000000..2f089bc --- /dev/null +++ b/public/github/index.html @@ -0,0 +1,13 @@ + + + + +Github + + +github内容网页,自己开发,可找模板 + + + + + \ No newline at end of file diff --git "a/public/img/Linux\345\206\205\346\240\270\344\271\213\346\227\205-logo.png" "b/public/img/Linux\345\206\205\346\240\270\344\271\213\346\227\205-logo.png" new file mode 100644 index 0000000..413055c Binary files /dev/null and "b/public/img/Linux\345\206\205\346\240\270\344\271\213\346\227\205-logo.png" differ diff --git a/public/img/apple-touch-icon.png b/public/img/apple-touch-icon.png new file mode 100644 index 0000000..2c4ed72 Binary files /dev/null and b/public/img/apple-touch-icon.png differ diff --git a/public/img/banner.jpg b/public/img/banner.jpg new file mode 100644 index 0000000..3bdfd19 Binary files /dev/null and b/public/img/banner.jpg differ diff --git a/public/img/banner2.jpg b/public/img/banner2.jpg new file mode 100644 index 0000000..09a370a Binary files /dev/null and b/public/img/banner2.jpg differ diff --git a/public/img/banners/banner-1.jpg b/public/img/banners/banner-1.jpg new file mode 100644 index 0000000..7f9a017 Binary files /dev/null and b/public/img/banners/banner-1.jpg differ diff --git a/public/img/banners/banner-2.jpg b/public/img/banners/banner-2.jpg new file mode 100644 index 0000000..2dbc994 Binary files /dev/null and b/public/img/banners/banner-2.jpg differ diff --git a/public/img/banners/banner-3.jpg b/public/img/banners/banner-3.jpg new file mode 100644 index 0000000..147fc43 Binary files /dev/null and b/public/img/banners/banner-3.jpg differ diff --git a/public/img/banners/banner-4.jpg b/public/img/banners/banner-4.jpg new file mode 100644 index 0000000..54677b5 Binary files /dev/null and b/public/img/banners/banner-4.jpg differ diff --git a/public/img/banners/banner-5.jpg b/public/img/banners/banner-5.jpg new file mode 100644 index 0000000..03ebd86 Binary files /dev/null and b/public/img/banners/banner-5.jpg differ diff --git "a/public/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200).png" "b/public/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200).png" new file mode 100644 index 0000000..9953f52 Binary files /dev/null and "b/public/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200).png" differ diff --git "a/public/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214).png" "b/public/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214).png" new file mode 100644 index 0000000..811963f Binary files /dev/null and "b/public/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214).png" differ diff --git a/public/img/basketsquare.jpg b/public/img/basketsquare.jpg new file mode 100644 index 0000000..5040f39 Binary files /dev/null and b/public/img/basketsquare.jpg differ diff --git a/public/img/blog-avatar.jpg b/public/img/blog-avatar.jpg new file mode 100644 index 0000000..5a43f60 Binary files /dev/null and b/public/img/blog-avatar.jpg differ diff --git a/public/img/blog-avatar2.jpg b/public/img/blog-avatar2.jpg new file mode 100644 index 0000000..4319e8a Binary files /dev/null and b/public/img/blog-avatar2.jpg differ diff --git a/public/img/blog-medium.jpg b/public/img/blog-medium.jpg new file mode 100644 index 0000000..3736e1d Binary files /dev/null and b/public/img/blog-medium.jpg differ diff --git a/public/img/blog-recent-2.jpg b/public/img/blog-recent-2.jpg new file mode 100644 index 0000000..f3a3d19 Binary files /dev/null and b/public/img/blog-recent-2.jpg differ diff --git a/public/img/blog-recent-3.jpg b/public/img/blog-recent-3.jpg new file mode 100644 index 0000000..ad35c12 Binary files /dev/null and b/public/img/blog-recent-3.jpg differ diff --git a/public/img/blog-recent.jpg b/public/img/blog-recent.jpg new file mode 100644 index 0000000..fd7aae6 Binary files /dev/null and b/public/img/blog-recent.jpg differ diff --git a/public/img/blog.jpg b/public/img/blog.jpg new file mode 100644 index 0000000..541c867 Binary files /dev/null and b/public/img/blog.jpg differ diff --git a/public/img/blog2.jpg b/public/img/blog2.jpg new file mode 100644 index 0000000..3910ba7 Binary files /dev/null and b/public/img/blog2.jpg differ diff --git a/public/img/carousel/2.png b/public/img/carousel/2.png new file mode 100644 index 0000000..811963f Binary files /dev/null and b/public/img/carousel/2.png differ diff --git a/public/img/carousel/3.png b/public/img/carousel/3.png new file mode 100644 index 0000000..9953f52 Binary files /dev/null and b/public/img/carousel/3.png differ diff --git a/public/img/carousel/4.png b/public/img/carousel/4.png new file mode 100644 index 0000000..8575f1f Binary files /dev/null and b/public/img/carousel/4.png differ diff --git a/public/img/carousel/template-easy-code.png b/public/img/carousel/template-easy-code.png new file mode 100644 index 0000000..a9b573a Binary files /dev/null and b/public/img/carousel/template-easy-code.png differ diff --git a/public/img/carousel/template-easy-customize-less.png b/public/img/carousel/template-easy-customize-less.png new file mode 100644 index 0000000..c600c36 Binary files /dev/null and b/public/img/carousel/template-easy-customize-less.png differ diff --git a/public/img/carousel/template-easy-customize.png b/public/img/carousel/template-easy-customize.png new file mode 100644 index 0000000..6080be0 Binary files /dev/null and b/public/img/carousel/template-easy-customize.png differ diff --git a/public/img/carousel/template-homepage.png b/public/img/carousel/template-homepage.png new file mode 100644 index 0000000..6541b60 Binary files /dev/null and b/public/img/carousel/template-homepage.png differ diff --git a/public/img/carousel/template-mac.png b/public/img/carousel/template-mac.png new file mode 100644 index 0000000..17887c4 Binary files /dev/null and b/public/img/carousel/template-mac.png differ diff --git a/public/img/carousel/template-tablets-2.png b/public/img/carousel/template-tablets-2.png new file mode 100644 index 0000000..9aac3c6 Binary files /dev/null and b/public/img/carousel/template-tablets-2.png differ diff --git a/public/img/carousel/template-tablets.png b/public/img/carousel/template-tablets.png new file mode 100644 index 0000000..c9b8fba Binary files /dev/null and b/public/img/carousel/template-tablets.png differ diff --git "a/public/img/carousel/\345\255\246\345\240\202\345\234\250\347\272\277.png" "b/public/img/carousel/\345\255\246\345\240\202\345\234\250\347\272\277.png" new file mode 100644 index 0000000..9c4b503 Binary files /dev/null and "b/public/img/carousel/\345\255\246\345\240\202\345\234\250\347\272\277.png" differ diff --git "a/public/img/carousel/\347\240\224\347\251\266\347\224\237\345\233\242\351\230\237.png" "b/public/img/carousel/\347\240\224\347\251\266\347\224\237\345\233\242\351\230\237.png" new file mode 100644 index 0000000..8d39fc5 Binary files /dev/null and "b/public/img/carousel/\347\240\224\347\251\266\347\224\237\345\233\242\351\230\237.png" differ diff --git "a/public/img/carousel/\350\275\257\344\273\266\350\207\252\347\224\261\346\227\245.png" "b/public/img/carousel/\350\275\257\344\273\266\350\207\252\347\224\261\346\227\245.png" new file mode 100644 index 0000000..373bb56 Binary files /dev/null and "b/public/img/carousel/\350\275\257\344\273\266\350\207\252\347\224\261\346\227\245.png" differ diff --git a/public/img/clients/customer-1.png b/public/img/clients/customer-1.png new file mode 100644 index 0000000..131bef2 Binary files /dev/null and b/public/img/clients/customer-1.png differ diff --git a/public/img/clients/customer-2.png b/public/img/clients/customer-2.png new file mode 100644 index 0000000..aefb5b0 Binary files /dev/null and b/public/img/clients/customer-2.png differ diff --git a/public/img/clients/customer-3.png b/public/img/clients/customer-3.png new file mode 100644 index 0000000..69cd03e Binary files /dev/null and b/public/img/clients/customer-3.png differ diff --git a/public/img/clients/customer-4.png b/public/img/clients/customer-4.png new file mode 100644 index 0000000..c906944 Binary files /dev/null and b/public/img/clients/customer-4.png differ diff --git a/public/img/clients/customer-5.png b/public/img/clients/customer-5.png new file mode 100644 index 0000000..bdd6625 Binary files /dev/null and b/public/img/clients/customer-5.png differ diff --git a/public/img/clients/customer-6.png b/public/img/clients/customer-6.png new file mode 100644 index 0000000..b9b6797 Binary files /dev/null and b/public/img/clients/customer-6.png differ diff --git a/public/img/detailbig1.jpg b/public/img/detailbig1.jpg new file mode 100644 index 0000000..b52370c Binary files /dev/null and b/public/img/detailbig1.jpg differ diff --git a/public/img/detailbig2.jpg b/public/img/detailbig2.jpg new file mode 100644 index 0000000..c519e8b Binary files /dev/null and b/public/img/detailbig2.jpg differ diff --git a/public/img/detailbig3.jpg b/public/img/detailbig3.jpg new file mode 100644 index 0000000..2ea5871 Binary files /dev/null and b/public/img/detailbig3.jpg differ diff --git a/public/img/detailsquare.jpg b/public/img/detailsquare.jpg new file mode 100644 index 0000000..b2b3a45 Binary files /dev/null and b/public/img/detailsquare.jpg differ diff --git a/public/img/detailsquare2.jpg b/public/img/detailsquare2.jpg new file mode 100644 index 0000000..d061be1 Binary files /dev/null and b/public/img/detailsquare2.jpg differ diff --git a/public/img/detailsquare3.jpg b/public/img/detailsquare3.jpg new file mode 100644 index 0000000..8f46a39 Binary files /dev/null and b/public/img/detailsquare3.jpg differ diff --git a/public/img/favicon.ico b/public/img/favicon.ico new file mode 100644 index 0000000..663b842 Binary files /dev/null and b/public/img/favicon.ico differ diff --git a/public/img/fixed-background-1.jpg b/public/img/fixed-background-1.jpg new file mode 100644 index 0000000..33187e5 Binary files /dev/null and b/public/img/fixed-background-1.jpg differ diff --git a/public/img/fixed-background-111111111.jpg b/public/img/fixed-background-111111111.jpg new file mode 100644 index 0000000..51a018d Binary files /dev/null and b/public/img/fixed-background-111111111.jpg differ diff --git a/public/img/fixed-background-2.jpg b/public/img/fixed-background-2.jpg new file mode 100644 index 0000000..164cbf4 Binary files /dev/null and b/public/img/fixed-background-2.jpg differ diff --git a/public/img/fixed-background-22222222.jpg b/public/img/fixed-background-22222222.jpg new file mode 100644 index 0000000..34351c8 Binary files /dev/null and b/public/img/fixed-background-22222222.jpg differ diff --git a/public/img/grabbing.png b/public/img/grabbing.png new file mode 100644 index 0000000..252f81b Binary files /dev/null and b/public/img/grabbing.png differ diff --git a/public/img/home-try.jpg b/public/img/home-try.jpg new file mode 100644 index 0000000..df7666f Binary files /dev/null and b/public/img/home-try.jpg differ diff --git a/public/img/home.jpg b/public/img/home.jpg new file mode 100644 index 0000000..e236a42 Binary files /dev/null and b/public/img/home.jpg differ diff --git a/public/img/homepage-slider.jpg b/public/img/homepage-slider.jpg new file mode 100644 index 0000000..696a47f Binary files /dev/null and b/public/img/homepage-slider.jpg differ diff --git a/public/img/logo-small.png b/public/img/logo-small.png new file mode 100644 index 0000000..2c4ed72 Binary files /dev/null and b/public/img/logo-small.png differ diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000..6f820d2 Binary files /dev/null and b/public/img/logo.png differ diff --git a/public/img/main-slider1.jpg b/public/img/main-slider1.jpg new file mode 100644 index 0000000..192dc38 Binary files /dev/null and b/public/img/main-slider1.jpg differ diff --git a/public/img/main-slider2.jpg b/public/img/main-slider2.jpg new file mode 100644 index 0000000..7b96f50 Binary files /dev/null and b/public/img/main-slider2.jpg differ diff --git a/public/img/main-slider3.jpg b/public/img/main-slider3.jpg new file mode 100644 index 0000000..4e91db7 Binary files /dev/null and b/public/img/main-slider3.jpg differ diff --git a/public/img/main-slider4.jpg b/public/img/main-slider4.jpg new file mode 100644 index 0000000..b211a15 Binary files /dev/null and b/public/img/main-slider4.jpg differ diff --git a/public/img/marker.png b/public/img/marker.png new file mode 100644 index 0000000..29cba88 Binary files /dev/null and b/public/img/marker.png differ diff --git a/public/img/men.jpg b/public/img/men.jpg new file mode 100644 index 0000000..94b117c Binary files /dev/null and b/public/img/men.jpg differ diff --git a/public/img/page-1.jpg b/public/img/page-1.jpg new file mode 100644 index 0000000..301ab7c Binary files /dev/null and b/public/img/page-1.jpg differ diff --git a/public/img/page-2.jpg b/public/img/page-2.jpg new file mode 100644 index 0000000..a054be2 Binary files /dev/null and b/public/img/page-2.jpg differ diff --git a/public/img/page-3.jpg b/public/img/page-3.jpg new file mode 100644 index 0000000..e3323b4 Binary files /dev/null and b/public/img/page-3.jpg differ diff --git a/public/img/payment.png b/public/img/payment.png new file mode 100644 index 0000000..3e24158 Binary files /dev/null and b/public/img/payment.png differ diff --git a/public/img/photogrid.jpg b/public/img/photogrid.jpg new file mode 100644 index 0000000..137e111 Binary files /dev/null and b/public/img/photogrid.jpg differ diff --git a/public/img/placeholder.png b/public/img/placeholder.png new file mode 100644 index 0000000..83228e5 Binary files /dev/null and b/public/img/placeholder.png differ diff --git a/public/img/portfolio-1.jpg b/public/img/portfolio-1.jpg new file mode 100644 index 0000000..7f9a017 Binary files /dev/null and b/public/img/portfolio-1.jpg differ diff --git a/public/img/portfolio-2.jpg b/public/img/portfolio-2.jpg new file mode 100644 index 0000000..54edd87 Binary files /dev/null and b/public/img/portfolio-2.jpg differ diff --git a/public/img/portfolio-3.jpg b/public/img/portfolio-3.jpg new file mode 100644 index 0000000..58f666e Binary files /dev/null and b/public/img/portfolio-3.jpg differ diff --git a/public/img/portfolio-4.jpg b/public/img/portfolio-4.jpg new file mode 100644 index 0000000..2dbc994 Binary files /dev/null and b/public/img/portfolio-4.jpg differ diff --git a/public/img/portfolio-5.jpg b/public/img/portfolio-5.jpg new file mode 100644 index 0000000..147fc43 Binary files /dev/null and b/public/img/portfolio-5.jpg differ diff --git a/public/img/portfolio-6.jpg b/public/img/portfolio-6.jpg new file mode 100644 index 0000000..54677b5 Binary files /dev/null and b/public/img/portfolio-6.jpg differ diff --git a/public/img/portfolio-7.jpg b/public/img/portfolio-7.jpg new file mode 100644 index 0000000..e7c1c6f Binary files /dev/null and b/public/img/portfolio-7.jpg differ diff --git a/public/img/portfolio-8.jpg b/public/img/portfolio-8.jpg new file mode 100644 index 0000000..9ec275d Binary files /dev/null and b/public/img/portfolio-8.jpg differ diff --git a/public/img/portfolio-9.jpg b/public/img/portfolio-9.jpg new file mode 100644 index 0000000..03ebd86 Binary files /dev/null and b/public/img/portfolio-9.jpg differ diff --git a/public/img/product1.jpg b/public/img/product1.jpg new file mode 100644 index 0000000..0fd5db7 Binary files /dev/null and b/public/img/product1.jpg differ diff --git a/public/img/product2.jpg b/public/img/product2.jpg new file mode 100644 index 0000000..0a47585 Binary files /dev/null and b/public/img/product2.jpg differ diff --git a/public/img/product3.jpg b/public/img/product3.jpg new file mode 100644 index 0000000..c3d22f3 Binary files /dev/null and b/public/img/product3.jpg differ diff --git a/public/img/product4.jpg b/public/img/product4.jpg new file mode 100644 index 0000000..09b15fb Binary files /dev/null and b/public/img/product4.jpg differ diff --git a/public/img/see_more_image.jpg b/public/img/see_more_image.jpg new file mode 100644 index 0000000..164cbf4 Binary files /dev/null and b/public/img/see_more_image.jpg differ diff --git a/public/img/sharing-default.png b/public/img/sharing-default.png new file mode 100644 index 0000000..5180bbb Binary files /dev/null and b/public/img/sharing-default.png differ diff --git a/public/img/slide1.jpg b/public/img/slide1.jpg new file mode 100644 index 0000000..cbb30ee Binary files /dev/null and b/public/img/slide1.jpg differ diff --git a/public/img/slide2.jpg b/public/img/slide2.jpg new file mode 100644 index 0000000..0d5ef40 Binary files /dev/null and b/public/img/slide2.jpg differ diff --git a/public/img/slide3.jpg b/public/img/slide3.jpg new file mode 100644 index 0000000..da9b6da Binary files /dev/null and b/public/img/slide3.jpg differ diff --git a/public/img/slide4.jpg b/public/img/slide4.jpg new file mode 100644 index 0000000..83889ce Binary files /dev/null and b/public/img/slide4.jpg differ diff --git a/public/img/slide5.jpg b/public/img/slide5.jpg new file mode 100644 index 0000000..d4749b7 Binary files /dev/null and b/public/img/slide5.jpg differ diff --git a/public/img/slide6.jpg b/public/img/slide6.jpg new file mode 100644 index 0000000..48f72bc Binary files /dev/null and b/public/img/slide6.jpg differ diff --git a/public/img/testimonials/person-1.jpg b/public/img/testimonials/person-1.jpg new file mode 100644 index 0000000..11c4cb3 Binary files /dev/null and b/public/img/testimonials/person-1.jpg differ diff --git a/public/img/testimonials/person-2.jpg b/public/img/testimonials/person-2.jpg new file mode 100644 index 0000000..1abb3e9 Binary files /dev/null and b/public/img/testimonials/person-2.jpg differ diff --git a/public/img/testimonials/person-3.png b/public/img/testimonials/person-3.png new file mode 100644 index 0000000..cfa6fbd Binary files /dev/null and b/public/img/testimonials/person-3.png differ diff --git a/public/img/testimonials/person-4.jpg b/public/img/testimonials/person-4.jpg new file mode 100644 index 0000000..d08cf7e Binary files /dev/null and b/public/img/testimonials/person-4.jpg differ diff --git "a/public/img/testimonials/\346\242\201\351\207\221\350\215\243.png" "b/public/img/testimonials/\346\242\201\351\207\221\350\215\243.png" new file mode 100644 index 0000000..9aba92e Binary files /dev/null and "b/public/img/testimonials/\346\242\201\351\207\221\350\215\243.png" differ diff --git "a/public/img/testimonials/\347\231\275\345\230\211\345\272\206.png" "b/public/img/testimonials/\347\231\275\345\230\211\345\272\206.png" new file mode 100644 index 0000000..aefbc64 Binary files /dev/null and "b/public/img/testimonials/\347\231\275\345\230\211\345\272\206.png" differ diff --git "a/public/img/testimonials/\350\256\270\346\214\257\346\226\207.png" "b/public/img/testimonials/\350\256\270\346\214\257\346\226\207.png" new file mode 100644 index 0000000..bbabbc4 Binary files /dev/null and "b/public/img/testimonials/\350\256\270\346\214\257\346\226\207.png" differ diff --git "a/public/img/testimonials/\350\265\265\346\231\250\351\233\250.png" "b/public/img/testimonials/\350\265\265\346\231\250\351\233\250.png" new file mode 100644 index 0000000..650c587 Binary files /dev/null and "b/public/img/testimonials/\350\265\265\346\231\250\351\233\250.png" differ diff --git "a/public/img/testimonials/\351\231\210\350\216\211\345\220\233.png" "b/public/img/testimonials/\351\231\210\350\216\211\345\220\233.png" new file mode 100644 index 0000000..2ab50a4 Binary files /dev/null and "b/public/img/testimonials/\351\231\210\350\216\211\345\220\233.png" differ diff --git a/public/img/texture-bw.png b/public/img/texture-bw.png new file mode 100644 index 0000000..4215594 Binary files /dev/null and b/public/img/texture-bw.png differ diff --git a/public/img/texture-green.png b/public/img/texture-green.png new file mode 100644 index 0000000..21b9231 Binary files /dev/null and b/public/img/texture-green.png differ diff --git a/public/img/texture-turquoise.png b/public/img/texture-turquoise.png new file mode 100644 index 0000000..8da5351 Binary files /dev/null and b/public/img/texture-turquoise.png differ diff --git a/public/img/texture-violet.png b/public/img/texture-violet.png new file mode 100644 index 0000000..81a4e1a Binary files /dev/null and b/public/img/texture-violet.png differ diff --git a/public/img/women.jpg b/public/img/women.jpg new file mode 100644 index 0000000..7e0e6db Binary files /dev/null and b/public/img/women.jpg differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..d8af323 --- /dev/null +++ b/public/index.html @@ -0,0 +1,647 @@ + + + + + + + + + + Linux内核之旅 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + + +
+ +
+ + + + + + + + + + + + + +
+
+
+
+
+

Linux内核之旅社区委员会

+
+ +

+ Linux内核之旅致力于传播开源文化,教授Linux内核知识。目前我们有五大平台,包括Linux内核之旅网站、GitHub、微信公众号“Linux内核之旅”、学堂在线mooc和bilibili内核视频站。以下为部分社区成员: +

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

和我一起学习Linux内核吧!

+

你可以在我们的GitHub上提交你的代码,也可以给我们的代码打补丁,在学堂在线mooc平台《Linux内核分析与应用》课程中抛出你的问题,就有机会获得陈莉君教授的答疑。

+

+ + + + + 点击免费报名《Linux内核分析与应用》课程 + + + + +

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

最新内核博客

+
+ +

+ +

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

+ 阅读更多 +

+
+
+ +
+

“tcp丢包分析”实验解析(一)--proc文件系统

+

+ + 在 10100-00+00 +

+

tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 最初开发 /proc 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用, /proc 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。 +/proc文件系统可以为提供很多信息, 在左边是一系列数字编号,每个实际上都是一个目录,表示系统中的一个进程。由于在Linux中创建的第一个进程是 init 进程,因此它的 process-id 为 1。 +右边的目录包含特定信息,比如cpuinfo包含了CPU的信息,modules包含了内核模块的信息。 +为了解决一些实际问题,我们需要在/proc下创建条目捕获信息,使用文件系统通用方法肯定是不行的,需要使用相关API编写内核模块来实现。 +在做谢宝友老师写的“TCP丢包分析”实验里,首先就会在/proc下创建条目,较为简单,先来看init和exit: +static int drop_packet_init(void) { int ret; struct proc_dir_entry *pe; proc_mkdir("mooc", NULL); proc_mkdir("mooc/net", NULL); ret = -ENOMEM; pe = proc_create("mooc/net/drop-packet", S_IFREG | 0644, NULL, &drop_packet_fops); if (!pe) goto err_proc; printk("drop-packet loaded.\n"); return 0; err_proc: return ret; } static void drop_packet_exit(void) { remove_proc_entry("mooc/net/drop-packet", NULL); remove_proc_entry("mooc/net", NULL); remove_proc_entry("mooc", NULL); printk("drop-packet unloaded.\n"); } 框架还是比较清晰的,需要深入源码来感受一下,第一部分代码: +*struct proc_dir_entry pe;

+

+ 继续阅读 +

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

+ 阅读更多 +

+
+
+ +
+

“tcp丢包分析”实验解析(二)--kprobe和tracepoint

+

+ + 在 10100-00+00 +

+

tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 继续顺下实验代码,前面说过,我们需要为我们(在proc文件系统中)加入的条目编写操作集接口: +const struct file_operations drop_packet_fops = { .open = drop_packet_open, .read = seq_read, .llseek = seq_lseek, .write = drop_packet_write, .release = single_release, }; 实验的运行逻辑重点落在了write操作的实现中: +static ssize_t drop_packet_write(struct file *file, const char __user *buf, size_t count, loff_t *offs) { int ret; char cmd[255]; char chr[255]; if (count < 1 || *offs) return -EINVAL; if (copy_from_user(chr, buf, 255)) return -EFAULT; ret = sscanf(chr, "%255s", cmd); if (ret <= 0) return -EINVAL; if (strcmp(cmd, "activate") == 0) { if (!

+

+ 继续阅读 +

+
+
+ + +
+ + +
+ + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..9fd11b4 --- /dev/null +++ b/public/index.xml @@ -0,0 +1,65 @@ + + + + Linux内核之旅 + https://example.org/ + Recent content on Linux内核之旅 + Hugo -- gohugo.io + en-us + Fri, 10 Apr 2020 00:00:00 +0000 + + + + + + “tcp丢包分析”实验解析(一)--proc文件系统 + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%B8%80-proc%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/ + Fri, 10 Apr 2020 00:00:00 +0000 + + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%B8%80-proc%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/ + tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 最初开发 /proc 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用, /proc 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。 +/proc文件系统可以为提供很多信息, 在左边是一系列数字编号,每个实际上都是一个目录,表示系统中的一个进程。由于在Linux中创建的第一个进程是 init 进程,因此它的 process-id 为 1。 +右边的目录包含特定信息,比如cpuinfo包含了CPU的信息,modules包含了内核模块的信息。 +为了解决一些实际问题,我们需要在/proc下创建条目捕获信息,使用文件系统通用方法肯定是不行的,需要使用相关API编写内核模块来实现。 +在做谢宝友老师写的“TCP丢包分析”实验里,首先就会在/proc下创建条目,较为简单,先来看init和exit: +static int drop_packet_init(void) { int ret; struct proc_dir_entry *pe; proc_mkdir(&#34;mooc&#34;, NULL); proc_mkdir(&#34;mooc/net&#34;, NULL); ret = -ENOMEM; pe = proc_create(&#34;mooc/net/drop-packet&#34;, S_IFREG | 0644, NULL, &amp;drop_packet_fops); if (!pe) goto err_proc; printk(&#34;drop-packet loaded.\n&#34;); return 0; err_proc: return ret; } static void drop_packet_exit(void) { remove_proc_entry(&#34;mooc/net/drop-packet&#34;, NULL); remove_proc_entry(&#34;mooc/net&#34;, NULL); remove_proc_entry(&#34;mooc&#34;, NULL); printk(&#34;drop-packet unloaded.\n&#34;); } 框架还是比较清晰的,需要深入源码来感受一下,第一部分代码: +*struct proc_dir_entry pe; + + + + “tcp丢包分析”实验解析(二)--kprobe和tracepoint + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%BA%8C-kprobe%E5%92%8Ctracepoint/ + Fri, 10 Apr 2020 00:00:00 +0000 + + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%BA%8C-kprobe%E5%92%8Ctracepoint/ + tcp丢包分析系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。 + 继续顺下实验代码,前面说过,我们需要为我们(在proc文件系统中)加入的条目编写操作集接口: +const struct file_operations drop_packet_fops = { .open = drop_packet_open, .read = seq_read, .llseek = seq_lseek, .write = drop_packet_write, .release = single_release, }; 实验的运行逻辑重点落在了write操作的实现中: +static ssize_t drop_packet_write(struct file *file, const char __user *buf, size_t count, loff_t *offs) { int ret; char cmd[255]; char chr[255]; if (count &lt; 1 || *offs) return -EINVAL; if (copy_from_user(chr, buf, 255)) return -EFAULT; ret = sscanf(chr, &#34;%255s&#34;, cmd); if (ret &lt;= 0) return -EINVAL; if (strcmp(cmd, &#34;activate&#34;) == 0) { if (! + + + + GitHub + https://example.org/faq/ + Mon, 01 Jan 0001 00:00:00 +0000 + + https://example.org/faq/ + Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. +1. WHAT TO DO IF I HAVE STILL NOT RECEIVED THE ORDER? Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. + + + + 关于 + https://example.org/contact/ + Mon, 01 Jan 0001 00:00:00 +0000 + + https://example.org/contact/ + 关于Linux内核之旅社区 Linux内核之旅社区是由西邮陈莉君教授创建,我们致力于传播开源文化,教授Linux内核知识。目前我们有五大平台,包括Linux内核之旅网站、GitHub、微信公众号“Linux内核之旅”、学堂在线mooc和bilibili内核视频站。 +也许在我们的课程里,就有下一站的方向。 愿你活出自己想要的模样,永远保持骄傲。 &ndash;陈莉君教授 +我们的目标 开源文化传播 内核知识教学 Linux知识传播 我们的平台 linuxkerneltravel公众号平台:传播媒介 定期推送linux内核相关的文章 大家的成果展示平台 linuxkerneltravel网站:文章内容输出平台 社区内容承输出点 学习周报 文章翻译 linuxkerneltravel的github社区:协作平台 社区&amp;网站代码协作平台 文章&amp;代码&amp;项目开发协作平台 学堂在线mooc:内核课程输出平台 内核知识教学 讨论区答疑 bilibili视频网站:管理内核学习视频 分享内核知识 管理大家平时录制的内核学习视频 社区委员会 联系方式 邮箱:liangjinrong111@163.com +微信公众号:Linux内核之旅 + + + + \ No newline at end of file diff --git a/public/js/front.js b/public/js/front.js new file mode 100644 index 0000000..601da71 --- /dev/null +++ b/public/js/front.js @@ -0,0 +1,385 @@ +/* global $this: true */ +/* eslint no-unused-vars: ["error", { "varsIgnorePattern": "animationsSlider" }] */ + +if ($.cookie('themeCSSpath')) { + $('link#theme-stylesheet').attr('href', $.cookie('themeCSSpath')) +} +if ($.cookie('themeLayout')) { + $('body').addClass($.cookie('themeLayout')) +} + +$(function () { + sliderHomepage() + sliders() + fullScreenContainer() + productDetailGallery(4000) + menuSliding() + productDetailSizes() + utils() + animations() + counters() + demo() + contactFormAjax() +}) + +// Ajax contact +function contactFormAjax () { + var form = $('.contact-form-ajax') + if (typeof form === 'undefined') return false + form.submit(function () { + $this = $(this) + $.post($(this).attr('action'), + $this.serialize(), + function () { + $this[0].reset() // clear form + + $('#contact-message') + .html('') + .fadeIn() + } + , 'json') + return false + }) +} + +/* for demo purpose only - can be deleted */ +function demo () { + if ($.cookie('themeCSSpath')) { + $('link#theme-stylesheet').attr('href', $.cookie('themeCSSpath')) + } + + $('#colour').change(function () { + if ($(this).val() !== '') { + var themeCSSpath = 'css/style.' + $(this).val() + '.css' + + $('link#theme-stylesheet').attr('href', themeCSSpath) + + $.cookie('themeCSSpath', themeCSSpath, {expires: 365, path: '/'}) + } + + return false + }) + + $('#layout').change(function () { + if ($(this).val() !== '') { + var themeLayout = $(this).val() + + $('body').removeClass('wide') + $('body').removeClass('boxed') + + $('body').addClass(themeLayout) + + $.cookie('themeLayout', themeLayout, {expires: 365, path: '/'}) + } + + return false + }) +} + +/* slider homepage */ +function sliderHomepage () { + if ($('#slider').length) { + // var owl = $('#slider') + + $('#slider').owlCarousel({ + autoPlay: 3000, + items: 4, + itemsDesktopSmall: [900, 3], + itemsTablet: [600, 3], + itemsMobile: [500, 2] + }) + } +} + +/* sliders */ +function sliders () { + if ($('.owl-carousel').length) { + $('.customers').owlCarousel({ + items: 6, + itemsDesktopSmall: [990, 4], + itemsTablet: [768, 2], + itemsMobile: [480, 1] + }) + + $('.testimonials').owlCarousel({ + items: 4, + itemsDesktopSmall: [990, 3], + itemsTablet: [768, 2], + itemsMobile: [480, 1] + }) + + $('.project').owlCarousel({ + navigation: true, // Show next and prev buttons + navigationText: ['', ''], + slideSpeed: 300, + paginationSpeed: 400, + autoPlay: true, + stopOnHover: true, + singleItem: true, + afterInit: '', + lazyLoad: true + }) + + $('.homepage').owlCarousel({ + navigation: false, // Show next and prev buttons + navigationText: ['', ''], + slideSpeed: 2000, + paginationSpeed: 1000, + autoPlay: true, + stopOnHover: true, + singleItem: true, + lazyLoad: false, + addClassActive: true, + afterInit: function () { + // animationsSlider() + }, + afterMove: function () { + // animationsSlider() + } + }) + } +} + +/* menu sliding */ +function menuSliding () { + $('.dropdown').on('show.bs.dropdown', function () { + if ($(window).width() > 750) { + $(this).find('.dropdown-menu').first().stop(true, true).slideDown() + } else { + $(this).find('.dropdown-menu').first().stop(true, true).show() + } + }) + + $('.dropdown').on('hide.bs.dropdown', function () { + if ($(window).width() > 750) { + $(this).find('.dropdown-menu').first().stop(true, true).slideUp() + } else { + $(this).find('.dropdown-menu').first().stop(true, true).hide() + } + }) +} + +/* animations */ +function animations () { + var delayTime = 0 + $('[data-animate]').css({opacity: '0'}) + $('[data-animate]').waypoint(function () { + delayTime += 150 + $(this).delay(delayTime).queue(function (next) { + $(this).toggleClass('animated') + $(this).toggleClass($(this).data('animate')) + delayTime = 0 + next() + // $(this).removeClass('animated') + // $(this).toggleClass($(this).data('animate')) + }) + }, { + offset: '90%', + triggerOnce: true + }) + + $('[data-animate-hover]').hover(function () { + $(this).css({opacity: 1}) + $(this).addClass('animated') + $(this).removeClass($(this).data('animate')) + $(this).addClass($(this).data('animate-hover')) + }, function () { + $(this).removeClass('animated') + $(this).removeClass($(this).data('animate-hover')) + }) +} + +function animationsSlider () { + var delayTimeSlider = 400 + + $('.owl-item:not(.active) [data-animate-always]').each(function () { + $(this).removeClass('animated') + $(this).removeClass($(this).data('animate-always')) + $(this).stop(true, true, true).css({opacity: 0}) + }) + + $('.owl-item.active [data-animate-always]').each(function () { + delayTimeSlider += 500 + + $(this).delay(delayTimeSlider).queue(function () { + $(this).addClass('animated') + $(this).addClass($(this).data('animate-always')) + + console.log($(this).data('animate-always')) + }) + }) +} + +/* counters */ +function counters () { + $('.counter').counterUp({ + delay: 10, + time: 1000 + }) +} + +/* picture zoom */ +function pictureZoom () { + $('.product .image, .post .image, .photostream div').each(function () { + var imgHeight = $(this).find('img').height() + if (imgHeight) { + $(this).height(imgHeight) + } + }) +} + +/* full screen intro */ +function fullScreenContainer () { + var screenWidth = $(window).width() + 'px' + var screenHeight = '500px' + + if ($(window).height() > 500) { + screenHeight = $(window).height() + 'px' + } + + $('#intro, #intro .item').css({ + width: screenWidth, + height: screenHeight + }) +} + +function utils () { + /* tooltips */ + $('[data-toggle="tooltip"]').tooltip() + + /* click on the box activates the radio */ + $('#checkout').on('click', '.box.shipping-method, .box.payment-method', function () { + var radio = $(this).find(':radio') + radio.prop('checked', true) + }) + + /* click on the box activates the link in it */ + $('.box.clickable').on('click', function () { + window.location = $(this).find('a').attr('href') + }) + + /* external links in new window */ + $('.external').on('click', function (e) { + e.preventDefault() + window.open($(this).attr('href')) + }) + + /* animated scrolling */ + $('.scroll-to, .scroll-to-top').click(function (event) { + var fullUrl = this.href + var parts = fullUrl.split('#') + + if (parts.length > 1) { + scrollTo(fullUrl) + event.preventDefault() + } + }) + + function scrollTo (fullUrl) { + var parts = fullUrl.split('#') + var trgt = parts[1] + var targetOffset = $('#' + trgt).offset() + var targetTop = targetOffset.top - 100 + + if (targetTop < 0) { + targetTop = 0 + } + + $('html, body').animate({ + scrollTop: targetTop + }, 1000) + } +} + +/* product detail gallery */ +function productDetailGallery (confDetailSwitch) { + $('.thumb:first').addClass('active') + var timer = setInterval(autoSwitch, confDetailSwitch) + + $('.thumb').click(function (e) { + switchImage($(this)) + clearInterval(timer) + timer = setInterval(autoSwitch, confDetailSwitch) + e.preventDefault() + }) + + $('#mainImage').hover(function () { + clearInterval(timer) + }, function () { + timer = setInterval(autoSwitch, confDetailSwitch) + }) + + function autoSwitch () { + var nextThumb = $('.thumb.active').closest('div').next('div').find('.thumb') + if (nextThumb.length === 0) { + nextThumb = $('.thumb:first') + } + switchImage(nextThumb) + } + + function switchImage (thumb) { + $('.thumb').removeClass('active') + var bigUrl = thumb.attr('href') + thumb.addClass('active') + $('#mainImage img').attr('src', bigUrl) + } +} + +/* product detail sizes */ +function productDetailSizes () { + $('.sizes a').click(function (e) { + e.preventDefault() + $('.sizes a').removeClass('active') + $('.size-input').prop('checked', false) + $(this).addClass('active') + $(this).next('input').prop('checked', true) + }) +} + +$.fn.alignElementsSameHeight = function () { + $('.same-height-row').each(function () { + var maxHeight = 0 + var children = $(this).find('.same-height') + children.height('auto') + + if ($(window).width() > 768) { + children.each(function () { + if ($(this).innerHeight() > maxHeight) { + maxHeight = $(this).innerHeight() + } + }) + children.innerHeight(maxHeight) + } + + maxHeight = 0 + children = $(this).find('.same-height-always') + children.height('auto') + children.each(function () { + if ($(this).height() > maxHeight) { + maxHeight = $(this).innerHeight() + } + }) + children.innerHeight(maxHeight) + }) +} + +var windowWidth +$(function () { + windowWidth = $(window).width() + + $(this).alignElementsSameHeight() + pictureZoom() +}) + +$(window).resize(function () { + var newWindowWidth = $(window).width() + + if (windowWidth !== newWindowWidth) { + setTimeout(function () { + $(this).alignElementsSameHeight() + fullScreenContainer() + pictureZoom() + }, 205) + windowWidth = newWindowWidth + } +}) diff --git a/public/js/gmaps.init.js b/public/js/gmaps.init.js new file mode 100644 index 0000000..2227dda --- /dev/null +++ b/public/js/gmaps.init.js @@ -0,0 +1,71 @@ +/* global GMaps: true */ + +$(document).ready(function () { + map() +}) + +function map () { + if ($('#map').length) { + var lat = $('#gmap-lat').val() + var lng = $('#gmap-lng').val() + var direction = $('#gmap-dir').val() + var image = $('#gmap-marker').val() + + var styles = + [ + { + 'featureType': 'landscape', 'stylers': [{'saturation': -100}, {'lightness': 65}, {'visibility': 'on'}] + }, { + 'featureType': 'poi', 'stylers': [{'saturation': -100}, {'lightness': 51}, {'visibility': 'simplified'}] + }, { + 'featureType': 'road.highway', 'stylers': [{'saturation': -100}, {'visibility': 'simplified'}] + }, { + 'featureType': 'road.arterial', 'stylers': [{'saturation': -100}, {'lightness': 30}, {'visibility': 'on'}] + }, { + 'featureType': 'road.local', 'stylers': [{'saturation': -100}, {'lightness': 40}, {'visibility': 'on'}] + }, { + 'featureType': 'transit', 'stylers': [{'saturation': -100}, {'visibility': 'simplified'}] + }, { + 'featureType': 'administrative.province', 'stylers': [{'visibility': 'off'}] + }, { + 'featureType': 'water', 'elementType': 'labels', 'stylers': [{'visibility': 'on'}, {'lightness': -25}, {'saturation': -100}] + }, { + 'featureType': 'water', 'elementType': 'geometry', 'stylers': [{'hue': '#ffff00'}, {'lightness': -25}, {'saturation': -97}] + } + ] + + var map = new GMaps({ + el: '#map', + lat: lat, + lng: lng, + zoomControl: true, + zoomControlOpt: { + style: 'SMALL', + position: 'TOP_LEFT' + }, + panControl: false, + streetViewControl: false, + mapTypeControl: false, + overviewMapControl: false, + scrollwheel: false, + draggable: false, + styles: styles + }) + + map.addMarker({ + lat: lat, + lng: lng, + icon: image, + click: function (e) { + // when we get an address with spaces ... + var url = 'https://maps.google.com?daddr=' + direction.split('match').join('replace') + window.open(url, '_blank') + }, + title: direction + /* , + infoWindow: { + content: '

HTML Content

' + } */ + }) + } +} diff --git a/public/js/hpneo.gmaps.js b/public/js/hpneo.gmaps.js new file mode 100644 index 0000000..66b4959 --- /dev/null +++ b/public/js/hpneo.gmaps.js @@ -0,0 +1,2132 @@ +(function(root, factory) { + if(typeof exports === 'object') { + module.exports = factory(); + } + else if(typeof define === 'function' && define.amd) { + define('GMaps', [], factory); + } + + root.GMaps = factory(); + +}(this, function() { + +/*! + * GMaps.js v0.4.15 + * http://hpneo.github.com/gmaps/ + * + * Copyright 2014, Gustavo Leon + * Released under the MIT License. + */ + +if (!(typeof window.google === 'object' && window.google.maps)) { + throw 'Google Maps API is required. Please register the following JavaScript library http://maps.google.com/maps/api/js?sensor=true.' +} + +var extend_object = function(obj, new_obj) { + var name; + + if (obj === new_obj) { + return obj; + } + + for (name in new_obj) { + obj[name] = new_obj[name]; + } + + return obj; +}; + +var replace_object = function(obj, replace) { + var name; + + if (obj === replace) { + return obj; + } + + for (name in replace) { + if (obj[name] != undefined) { + obj[name] = replace[name]; + } + } + + return obj; +}; + +var array_map = function(array, callback) { + var original_callback_params = Array.prototype.slice.call(arguments, 2), + array_return = [], + array_length = array.length, + i; + + if (Array.prototype.map && array.map === Array.prototype.map) { + array_return = Array.prototype.map.call(array, function(item) { + callback_params = original_callback_params; + callback_params.splice(0, 0, item); + + return callback.apply(this, callback_params); + }); + } + else { + for (i = 0; i < array_length; i++) { + callback_params = original_callback_params; + callback_params.splice(0, 0, array[i]); + array_return.push(callback.apply(this, callback_params)); + } + } + + return array_return; +}; + +var array_flat = function(array) { + var new_array = [], + i; + + for (i = 0; i < array.length; i++) { + new_array = new_array.concat(array[i]); + } + + return new_array; +}; + +var coordsToLatLngs = function(coords, useGeoJSON) { + var first_coord = coords[0], + second_coord = coords[1]; + + if (useGeoJSON) { + first_coord = coords[1]; + second_coord = coords[0]; + } + + return new google.maps.LatLng(first_coord, second_coord); +}; + +var arrayToLatLng = function(coords, useGeoJSON) { + var i; + + for (i = 0; i < coords.length; i++) { + if (!(coords[i] instanceof google.maps.LatLng)) { + if (coords[i].length > 0 && typeof(coords[i][0]) == "object") { + coords[i] = arrayToLatLng(coords[i], useGeoJSON); + } + else { + coords[i] = coordsToLatLngs(coords[i], useGeoJSON); + } + } + } + + return coords; +}; + +var getElementById = function(id, context) { + var element, + id = id.replace('#', ''); + + if ('jQuery' in this && context) { + element = $("#" + id, context)[0]; + } else { + element = document.getElementById(id); + }; + + return element; +}; + +var findAbsolutePosition = function(obj) { + var curleft = 0, + curtop = 0; + + if (obj.offsetParent) { + do { + curleft += obj.offsetLeft; + curtop += obj.offsetTop; + } while (obj = obj.offsetParent); + } + + return [curleft, curtop]; +}; + +var GMaps = (function(global) { + "use strict"; + + var doc = document; + + var GMaps = function(options) { + if (!this) return new GMaps(options); + + options.zoom = options.zoom || 15; + options.mapType = options.mapType || 'roadmap'; + + var self = this, + i, + events_that_hide_context_menu = ['bounds_changed', 'center_changed', 'click', 'dblclick', 'drag', 'dragend', 'dragstart', 'idle', 'maptypeid_changed', 'projection_changed', 'resize', 'tilesloaded', 'zoom_changed'], + events_that_doesnt_hide_context_menu = ['mousemove', 'mouseout', 'mouseover'], + options_to_be_deleted = ['el', 'lat', 'lng', 'mapType', 'width', 'height', 'markerClusterer', 'enableNewStyle'], + container_id = options.el || options.div, + markerClustererFunction = options.markerClusterer, + mapType = google.maps.MapTypeId[options.mapType.toUpperCase()], + map_center = new google.maps.LatLng(options.lat, options.lng), + zoomControl = options.zoomControl || true, + zoomControlOpt = options.zoomControlOpt || { + style: 'DEFAULT', + position: 'TOP_LEFT' + }, + zoomControlStyle = zoomControlOpt.style || 'DEFAULT', + zoomControlPosition = zoomControlOpt.position || 'TOP_LEFT', + panControl = options.panControl || true, + mapTypeControl = options.mapTypeControl || true, + scaleControl = options.scaleControl || true, + streetViewControl = options.streetViewControl || true, + overviewMapControl = overviewMapControl || true, + map_options = {}, + map_base_options = { + zoom: this.zoom, + center: map_center, + mapTypeId: mapType + }, + map_controls_options = { + panControl: panControl, + zoomControl: zoomControl, + zoomControlOptions: { + style: google.maps.ZoomControlStyle[zoomControlStyle], + position: google.maps.ControlPosition[zoomControlPosition] + }, + mapTypeControl: mapTypeControl, + scaleControl: scaleControl, + streetViewControl: streetViewControl, + overviewMapControl: overviewMapControl + }; + + if (typeof(options.el) === 'string' || typeof(options.div) === 'string') { + this.el = getElementById(container_id, options.context); + } else { + this.el = container_id; + } + + if (typeof(this.el) === 'undefined' || this.el === null) { + throw 'No element defined.'; + } + + window.context_menu = window.context_menu || {}; + window.context_menu[self.el.id] = {}; + + this.controls = []; + this.overlays = []; + this.layers = []; // array with kml/georss and fusiontables layers, can be as many + this.singleLayers = {}; // object with the other layers, only one per layer + this.markers = []; + this.polylines = []; + this.routes = []; + this.polygons = []; + this.infoWindow = null; + this.overlay_el = null; + this.zoom = options.zoom; + this.registered_events = {}; + + this.el.style.width = options.width || this.el.scrollWidth || this.el.offsetWidth; + this.el.style.height = options.height || this.el.scrollHeight || this.el.offsetHeight; + + google.maps.visualRefresh = options.enableNewStyle; + + for (i = 0; i < options_to_be_deleted.length; i++) { + delete options[options_to_be_deleted[i]]; + } + + if(options.disableDefaultUI != true) { + map_base_options = extend_object(map_base_options, map_controls_options); + } + + map_options = extend_object(map_base_options, options); + + for (i = 0; i < events_that_hide_context_menu.length; i++) { + delete map_options[events_that_hide_context_menu[i]]; + } + + for (i = 0; i < events_that_doesnt_hide_context_menu.length; i++) { + delete map_options[events_that_doesnt_hide_context_menu[i]]; + } + + this.map = new google.maps.Map(this.el, map_options); + + if (markerClustererFunction) { + this.markerClusterer = markerClustererFunction.apply(this, [this.map]); + } + + var buildContextMenuHTML = function(control, e) { + var html = '', + options = window.context_menu[self.el.id][control]; + + for (var i in options){ + if (options.hasOwnProperty(i)) { + var option = options[i]; + + html += '
  • ' + option.title + '
  • '; + } + } + + if (!getElementById('gmaps_context_menu')) return; + + var context_menu_element = getElementById('gmaps_context_menu'); + + context_menu_element.innerHTML = html; + + var context_menu_items = context_menu_element.getElementsByTagName('a'), + context_menu_items_count = context_menu_items.length, + i; + + for (i = 0; i < context_menu_items_count; i++) { + var context_menu_item = context_menu_items[i]; + + var assign_menu_item_action = function(ev){ + ev.preventDefault(); + + options[this.id.replace(control + '_', '')].action.apply(self, [e]); + self.hideContextMenu(); + }; + + google.maps.event.clearListeners(context_menu_item, 'click'); + google.maps.event.addDomListenerOnce(context_menu_item, 'click', assign_menu_item_action, false); + } + + var position = findAbsolutePosition.apply(this, [self.el]), + left = position[0] + e.pixel.x - 15, + top = position[1] + e.pixel.y- 15; + + context_menu_element.style.left = left + "px"; + context_menu_element.style.top = top + "px"; + + context_menu_element.style.display = 'block'; + }; + + this.buildContextMenu = function(control, e) { + if (control === 'marker') { + e.pixel = {}; + + var overlay = new google.maps.OverlayView(); + overlay.setMap(self.map); + + overlay.draw = function() { + var projection = overlay.getProjection(), + position = e.marker.getPosition(); + + e.pixel = projection.fromLatLngToContainerPixel(position); + + buildContextMenuHTML(control, e); + }; + } + else { + buildContextMenuHTML(control, e); + } + }; + + this.setContextMenu = function(options) { + window.context_menu[self.el.id][options.control] = {}; + + var i, + ul = doc.createElement('ul'); + + for (i in options.options) { + if (options.options.hasOwnProperty(i)) { + var option = options.options[i]; + + window.context_menu[self.el.id][options.control][option.name] = { + title: option.title, + action: option.action + }; + } + } + + ul.id = 'gmaps_context_menu'; + ul.style.display = 'none'; + ul.style.position = 'absolute'; + ul.style.minWidth = '100px'; + ul.style.background = 'white'; + ul.style.listStyle = 'none'; + ul.style.padding = '8px'; + ul.style.boxShadow = '2px 2px 6px #ccc'; + + doc.body.appendChild(ul); + + var context_menu_element = getElementById('gmaps_context_menu') + + google.maps.event.addDomListener(context_menu_element, 'mouseout', function(ev) { + if (!ev.relatedTarget || !this.contains(ev.relatedTarget)) { + window.setTimeout(function(){ + context_menu_element.style.display = 'none'; + }, 400); + } + }, false); + }; + + this.hideContextMenu = function() { + var context_menu_element = getElementById('gmaps_context_menu'); + + if (context_menu_element) { + context_menu_element.style.display = 'none'; + } + }; + + var setupListener = function(object, name) { + google.maps.event.addListener(object, name, function(e){ + if (e == undefined) { + e = this; + } + + options[name].apply(this, [e]); + + self.hideContextMenu(); + }); + }; + + //google.maps.event.addListener(this.map, 'idle', this.hideContextMenu); + google.maps.event.addListener(this.map, 'zoom_changed', this.hideContextMenu); + + for (var ev = 0; ev < events_that_hide_context_menu.length; ev++) { + var name = events_that_hide_context_menu[ev]; + + if (name in options) { + setupListener(this.map, name); + } + } + + for (var ev = 0; ev < events_that_doesnt_hide_context_menu.length; ev++) { + var name = events_that_doesnt_hide_context_menu[ev]; + + if (name in options) { + setupListener(this.map, name); + } + } + + google.maps.event.addListener(this.map, 'rightclick', function(e) { + if (options.rightclick) { + options.rightclick.apply(this, [e]); + } + + if(window.context_menu[self.el.id]['map'] != undefined) { + self.buildContextMenu('map', e); + } + }); + + this.refresh = function() { + google.maps.event.trigger(this.map, 'resize'); + }; + + this.fitZoom = function() { + var latLngs = [], + markers_length = this.markers.length, + i; + + for (i = 0; i < markers_length; i++) { + if(typeof(this.markers[i].visible) === 'boolean' && this.markers[i].visible) { + latLngs.push(this.markers[i].getPosition()); + } + } + + this.fitLatLngBounds(latLngs); + }; + + this.fitLatLngBounds = function(latLngs) { + var total = latLngs.length; + var bounds = new google.maps.LatLngBounds(); + + for(var i=0; i < total; i++) { + bounds.extend(latLngs[i]); + } + + this.map.fitBounds(bounds); + }; + + this.setCenter = function(lat, lng, callback) { + this.map.panTo(new google.maps.LatLng(lat, lng)); + + if (callback) { + callback(); + } + }; + + this.getElement = function() { + return this.el; + }; + + this.zoomIn = function(value) { + value = value || 1; + + this.zoom = this.map.getZoom() + value; + this.map.setZoom(this.zoom); + }; + + this.zoomOut = function(value) { + value = value || 1; + + this.zoom = this.map.getZoom() - value; + this.map.setZoom(this.zoom); + }; + + var native_methods = [], + method; + + for (method in this.map) { + if (typeof(this.map[method]) == 'function' && !this[method]) { + native_methods.push(method); + } + } + + for (i=0; i < native_methods.length; i++) { + (function(gmaps, scope, method_name) { + gmaps[method_name] = function(){ + return scope[method_name].apply(scope, arguments); + }; + })(this, this.map, native_methods[i]); + } + }; + + return GMaps; +})(this); + +GMaps.prototype.createControl = function(options) { + var control = document.createElement('div'); + + control.style.cursor = 'pointer'; + + if (options.disableDefaultStyles !== true) { + control.style.fontFamily = 'Roboto, Arial, sans-serif'; + control.style.fontSize = '11px'; + control.style.boxShadow = 'rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px'; + } + + for (var option in options.style) { + control.style[option] = options.style[option]; + } + + if (options.id) { + control.id = options.id; + } + + if (options.classes) { + control.className = options.classes; + } + + if (options.content) { + if (typeof options.content === 'string') { + control.innerHTML = options.content; + } + else if (options.content instanceof HTMLElement) { + control.appendChild(options.content); + } + } + + if (options.position) { + control.position = google.maps.ControlPosition[options.position.toUpperCase()]; + } + + for (var ev in options.events) { + (function(object, name) { + google.maps.event.addDomListener(object, name, function(){ + options.events[name].apply(this, [this]); + }); + })(control, ev); + } + + control.index = 1; + + return control; +}; + +GMaps.prototype.addControl = function(options) { + var control = this.createControl(options); + this.controls.push(control); + this.map.controls[control.position].push(control); + + return control; +}; + +GMaps.prototype.removeControl = function(control) { + var position = null; + + for (var i = 0; i < this.controls.length; i++) { + if (this.controls[i] == control) { + position = this.controls[i].position; + this.controls.splice(i, 1); + } + } + + if (position) { + for (i = 0; i < this.map.controls.length; i++) { + var controlsForPosition = this.map.controls[control.position] + if (controlsForPosition.getAt(i) == control) { + controlsForPosition.removeAt(i); + break; + } + } + } + + return control; +}; + +GMaps.prototype.createMarker = function(options) { + if (options.lat == undefined && options.lng == undefined && options.position == undefined) { + throw 'No latitude or longitude defined.'; + } + + var self = this, + details = options.details, + fences = options.fences, + outside = options.outside, + base_options = { + position: new google.maps.LatLng(options.lat, options.lng), + map: null + }, + marker_options = extend_object(base_options, options); + + delete marker_options.lat; + delete marker_options.lng; + delete marker_options.fences; + delete marker_options.outside; + + var marker = new google.maps.Marker(marker_options); + + marker.fences = fences; + + if (options.infoWindow) { + marker.infoWindow = new google.maps.InfoWindow(options.infoWindow); + + var info_window_events = ['closeclick', 'content_changed', 'domready', 'position_changed', 'zindex_changed']; + + for (var ev = 0; ev < info_window_events.length; ev++) { + (function(object, name) { + if (options.infoWindow[name]) { + google.maps.event.addListener(object, name, function(e){ + options.infoWindow[name].apply(this, [e]); + }); + } + })(marker.infoWindow, info_window_events[ev]); + } + } + + var marker_events = ['animation_changed', 'clickable_changed', 'cursor_changed', 'draggable_changed', 'flat_changed', 'icon_changed', 'position_changed', 'shadow_changed', 'shape_changed', 'title_changed', 'visible_changed', 'zindex_changed']; + + var marker_events_with_mouse = ['dblclick', 'drag', 'dragend', 'dragstart', 'mousedown', 'mouseout', 'mouseover', 'mouseup']; + + for (var ev = 0; ev < marker_events.length; ev++) { + (function(object, name) { + if (options[name]) { + google.maps.event.addListener(object, name, function(){ + options[name].apply(this, [this]); + }); + } + })(marker, marker_events[ev]); + } + + for (var ev = 0; ev < marker_events_with_mouse.length; ev++) { + (function(map, object, name) { + if (options[name]) { + google.maps.event.addListener(object, name, function(me){ + if(!me.pixel){ + me.pixel = map.getProjection().fromLatLngToPoint(me.latLng) + } + + options[name].apply(this, [me]); + }); + } + })(this.map, marker, marker_events_with_mouse[ev]); + } + + google.maps.event.addListener(marker, 'click', function() { + this.details = details; + + if (options.click) { + options.click.apply(this, [this]); + } + + if (marker.infoWindow) { + self.hideInfoWindows(); + marker.infoWindow.open(self.map, marker); + } + }); + + google.maps.event.addListener(marker, 'rightclick', function(e) { + e.marker = this; + + if (options.rightclick) { + options.rightclick.apply(this, [e]); + } + + if (window.context_menu[self.el.id]['marker'] != undefined) { + self.buildContextMenu('marker', e); + } + }); + + if (marker.fences) { + google.maps.event.addListener(marker, 'dragend', function() { + self.checkMarkerGeofence(marker, function(m, f) { + outside(m, f); + }); + }); + } + + return marker; +}; + +GMaps.prototype.addMarker = function(options) { + var marker; + if(options.hasOwnProperty('gm_accessors_')) { + // Native google.maps.Marker object + marker = options; + } + else { + if ((options.hasOwnProperty('lat') && options.hasOwnProperty('lng')) || options.position) { + marker = this.createMarker(options); + } + else { + throw 'No latitude or longitude defined.'; + } + } + + marker.setMap(this.map); + + if(this.markerClusterer) { + this.markerClusterer.addMarker(marker); + } + + this.markers.push(marker); + + GMaps.fire('marker_added', marker, this); + + return marker; +}; + +GMaps.prototype.addMarkers = function(array) { + for (var i = 0, marker; marker=array[i]; i++) { + this.addMarker(marker); + } + + return this.markers; +}; + +GMaps.prototype.hideInfoWindows = function() { + for (var i = 0, marker; marker = this.markers[i]; i++){ + if (marker.infoWindow) { + marker.infoWindow.close(); + } + } +}; + +GMaps.prototype.removeMarker = function(marker) { + for (var i = 0; i < this.markers.length; i++) { + if (this.markers[i] === marker) { + this.markers[i].setMap(null); + this.markers.splice(i, 1); + + if(this.markerClusterer) { + this.markerClusterer.removeMarker(marker); + } + + GMaps.fire('marker_removed', marker, this); + + break; + } + } + + return marker; +}; + +GMaps.prototype.removeMarkers = function (collection) { + var new_markers = []; + + if (typeof collection == 'undefined') { + for (var i = 0; i < this.markers.length; i++) { + this.markers[i].setMap(null); + } + + this.markers = new_markers; + } + else { + for (var i = 0; i < collection.length; i++) { + if (this.markers.indexOf(collection[i]) > -1) { + this.markers[i].setMap(null); + } + } + + for (var i = 0; i < this.markers.length; i++) { + if (this.markers[i].getMap() != null) { + new_markers.push(this.markers[i]); + } + } + + this.markers = new_markers; + } +}; + +GMaps.prototype.drawOverlay = function(options) { + var overlay = new google.maps.OverlayView(), + auto_show = true; + + overlay.setMap(this.map); + + if (options.auto_show != null) { + auto_show = options.auto_show; + } + + overlay.onAdd = function() { + var el = document.createElement('div'); + + el.style.borderStyle = "none"; + el.style.borderWidth = "0px"; + el.style.position = "absolute"; + el.style.zIndex = 100; + el.innerHTML = options.content; + + overlay.el = el; + + if (!options.layer) { + options.layer = 'overlayLayer'; + } + + var panes = this.getPanes(), + overlayLayer = panes[options.layer], + stop_overlay_events = ['contextmenu', 'DOMMouseScroll', 'dblclick', 'mousedown']; + + overlayLayer.appendChild(el); + + for (var ev = 0; ev < stop_overlay_events.length; ev++) { + (function(object, name) { + google.maps.event.addDomListener(object, name, function(e){ + if (navigator.userAgent.toLowerCase().indexOf('msie') != -1 && document.all) { + e.cancelBubble = true; + e.returnValue = false; + } + else { + e.stopPropagation(); + } + }); + })(el, stop_overlay_events[ev]); + } + + if (options.click) { + panes.overlayMouseTarget.appendChild(overlay.el); + google.maps.event.addDomListener(overlay.el, 'click', function() { + options.click.apply(overlay, [overlay]); + }); + } + + google.maps.event.trigger(this, 'ready'); + }; + + overlay.draw = function() { + var projection = this.getProjection(), + pixel = projection.fromLatLngToDivPixel(new google.maps.LatLng(options.lat, options.lng)); + + options.horizontalOffset = options.horizontalOffset || 0; + options.verticalOffset = options.verticalOffset || 0; + + var el = overlay.el, + content = el.children[0], + content_height = content.clientHeight, + content_width = content.clientWidth; + + switch (options.verticalAlign) { + case 'top': + el.style.top = (pixel.y - content_height + options.verticalOffset) + 'px'; + break; + default: + case 'middle': + el.style.top = (pixel.y - (content_height / 2) + options.verticalOffset) + 'px'; + break; + case 'bottom': + el.style.top = (pixel.y + options.verticalOffset) + 'px'; + break; + } + + switch (options.horizontalAlign) { + case 'left': + el.style.left = (pixel.x - content_width + options.horizontalOffset) + 'px'; + break; + default: + case 'center': + el.style.left = (pixel.x - (content_width / 2) + options.horizontalOffset) + 'px'; + break; + case 'right': + el.style.left = (pixel.x + options.horizontalOffset) + 'px'; + break; + } + + el.style.display = auto_show ? 'block' : 'none'; + + if (!auto_show) { + options.show.apply(this, [el]); + } + }; + + overlay.onRemove = function() { + var el = overlay.el; + + if (options.remove) { + options.remove.apply(this, [el]); + } + else { + overlay.el.parentNode.removeChild(overlay.el); + overlay.el = null; + } + }; + + this.overlays.push(overlay); + return overlay; +}; + +GMaps.prototype.removeOverlay = function(overlay) { + for (var i = 0; i < this.overlays.length; i++) { + if (this.overlays[i] === overlay) { + this.overlays[i].setMap(null); + this.overlays.splice(i, 1); + + break; + } + } +}; + +GMaps.prototype.removeOverlays = function() { + for (var i = 0, item; item = this.overlays[i]; i++) { + item.setMap(null); + } + + this.overlays = []; +}; + +GMaps.prototype.drawPolyline = function(options) { + var path = [], + points = options.path; + + if (points.length) { + if (points[0][0] === undefined) { + path = points; + } + else { + for (var i=0, latlng; latlng=points[i]; i++) { + path.push(new google.maps.LatLng(latlng[0], latlng[1])); + } + } + } + + var polyline_options = { + map: this.map, + path: path, + strokeColor: options.strokeColor, + strokeOpacity: options.strokeOpacity, + strokeWeight: options.strokeWeight, + geodesic: options.geodesic, + clickable: true, + editable: false, + visible: true + }; + + if (options.hasOwnProperty("clickable")) { + polyline_options.clickable = options.clickable; + } + + if (options.hasOwnProperty("editable")) { + polyline_options.editable = options.editable; + } + + if (options.hasOwnProperty("icons")) { + polyline_options.icons = options.icons; + } + + if (options.hasOwnProperty("zIndex")) { + polyline_options.zIndex = options.zIndex; + } + + var polyline = new google.maps.Polyline(polyline_options); + + var polyline_events = ['click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'rightclick']; + + for (var ev = 0; ev < polyline_events.length; ev++) { + (function(object, name) { + if (options[name]) { + google.maps.event.addListener(object, name, function(e){ + options[name].apply(this, [e]); + }); + } + })(polyline, polyline_events[ev]); + } + + this.polylines.push(polyline); + + GMaps.fire('polyline_added', polyline, this); + + return polyline; +}; + +GMaps.prototype.removePolyline = function(polyline) { + for (var i = 0; i < this.polylines.length; i++) { + if (this.polylines[i] === polyline) { + this.polylines[i].setMap(null); + this.polylines.splice(i, 1); + + GMaps.fire('polyline_removed', polyline, this); + + break; + } + } +}; + +GMaps.prototype.removePolylines = function() { + for (var i = 0, item; item = this.polylines[i]; i++) { + item.setMap(null); + } + + this.polylines = []; +}; + +GMaps.prototype.drawCircle = function(options) { + options = extend_object({ + map: this.map, + center: new google.maps.LatLng(options.lat, options.lng) + }, options); + + delete options.lat; + delete options.lng; + + var polygon = new google.maps.Circle(options), + polygon_events = ['click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'rightclick']; + + for (var ev = 0; ev < polygon_events.length; ev++) { + (function(object, name) { + if (options[name]) { + google.maps.event.addListener(object, name, function(e){ + options[name].apply(this, [e]); + }); + } + })(polygon, polygon_events[ev]); + } + + this.polygons.push(polygon); + + return polygon; +}; + +GMaps.prototype.drawRectangle = function(options) { + options = extend_object({ + map: this.map + }, options); + + var latLngBounds = new google.maps.LatLngBounds( + new google.maps.LatLng(options.bounds[0][0], options.bounds[0][1]), + new google.maps.LatLng(options.bounds[1][0], options.bounds[1][1]) + ); + + options.bounds = latLngBounds; + + var polygon = new google.maps.Rectangle(options), + polygon_events = ['click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'rightclick']; + + for (var ev = 0; ev < polygon_events.length; ev++) { + (function(object, name) { + if (options[name]) { + google.maps.event.addListener(object, name, function(e){ + options[name].apply(this, [e]); + }); + } + })(polygon, polygon_events[ev]); + } + + this.polygons.push(polygon); + + return polygon; +}; + +GMaps.prototype.drawPolygon = function(options) { + var useGeoJSON = false; + + if(options.hasOwnProperty("useGeoJSON")) { + useGeoJSON = options.useGeoJSON; + } + + delete options.useGeoJSON; + + options = extend_object({ + map: this.map + }, options); + + if (useGeoJSON == false) { + options.paths = [options.paths.slice(0)]; + } + + if (options.paths.length > 0) { + if (options.paths[0].length > 0) { + options.paths = array_flat(array_map(options.paths, arrayToLatLng, useGeoJSON)); + } + } + + var polygon = new google.maps.Polygon(options), + polygon_events = ['click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'rightclick']; + + for (var ev = 0; ev < polygon_events.length; ev++) { + (function(object, name) { + if (options[name]) { + google.maps.event.addListener(object, name, function(e){ + options[name].apply(this, [e]); + }); + } + })(polygon, polygon_events[ev]); + } + + this.polygons.push(polygon); + + GMaps.fire('polygon_added', polygon, this); + + return polygon; +}; + +GMaps.prototype.removePolygon = function(polygon) { + for (var i = 0; i < this.polygons.length; i++) { + if (this.polygons[i] === polygon) { + this.polygons[i].setMap(null); + this.polygons.splice(i, 1); + + GMaps.fire('polygon_removed', polygon, this); + + break; + } + } +}; + +GMaps.prototype.removePolygons = function() { + for (var i = 0, item; item = this.polygons[i]; i++) { + item.setMap(null); + } + + this.polygons = []; +}; + +GMaps.prototype.getFromFusionTables = function(options) { + var events = options.events; + + delete options.events; + + var fusion_tables_options = options, + layer = new google.maps.FusionTablesLayer(fusion_tables_options); + + for (var ev in events) { + (function(object, name) { + google.maps.event.addListener(object, name, function(e) { + events[name].apply(this, [e]); + }); + })(layer, ev); + } + + this.layers.push(layer); + + return layer; +}; + +GMaps.prototype.loadFromFusionTables = function(options) { + var layer = this.getFromFusionTables(options); + layer.setMap(this.map); + + return layer; +}; + +GMaps.prototype.getFromKML = function(options) { + var url = options.url, + events = options.events; + + delete options.url; + delete options.events; + + var kml_options = options, + layer = new google.maps.KmlLayer(url, kml_options); + + for (var ev in events) { + (function(object, name) { + google.maps.event.addListener(object, name, function(e) { + events[name].apply(this, [e]); + }); + })(layer, ev); + } + + this.layers.push(layer); + + return layer; +}; + +GMaps.prototype.loadFromKML = function(options) { + var layer = this.getFromKML(options); + layer.setMap(this.map); + + return layer; +}; + +GMaps.prototype.addLayer = function(layerName, options) { + //var default_layers = ['weather', 'clouds', 'traffic', 'transit', 'bicycling', 'panoramio', 'places']; + options = options || {}; + var layer; + + switch(layerName) { + case 'weather': this.singleLayers.weather = layer = new google.maps.weather.WeatherLayer(); + break; + case 'clouds': this.singleLayers.clouds = layer = new google.maps.weather.CloudLayer(); + break; + case 'traffic': this.singleLayers.traffic = layer = new google.maps.TrafficLayer(); + break; + case 'transit': this.singleLayers.transit = layer = new google.maps.TransitLayer(); + break; + case 'bicycling': this.singleLayers.bicycling = layer = new google.maps.BicyclingLayer(); + break; + case 'panoramio': + this.singleLayers.panoramio = layer = new google.maps.panoramio.PanoramioLayer(); + layer.setTag(options.filter); + delete options.filter; + + //click event + if (options.click) { + google.maps.event.addListener(layer, 'click', function(event) { + options.click(event); + delete options.click; + }); + } + break; + case 'places': + this.singleLayers.places = layer = new google.maps.places.PlacesService(this.map); + + //search, nearbySearch, radarSearch callback, Both are the same + if (options.search || options.nearbySearch || options.radarSearch) { + var placeSearchRequest = { + bounds : options.bounds || null, + keyword : options.keyword || null, + location : options.location || null, + name : options.name || null, + radius : options.radius || null, + rankBy : options.rankBy || null, + types : options.types || null + }; + + if (options.radarSearch) { + layer.radarSearch(placeSearchRequest, options.radarSearch); + } + + if (options.search) { + layer.search(placeSearchRequest, options.search); + } + + if (options.nearbySearch) { + layer.nearbySearch(placeSearchRequest, options.nearbySearch); + } + } + + //textSearch callback + if (options.textSearch) { + var textSearchRequest = { + bounds : options.bounds || null, + location : options.location || null, + query : options.query || null, + radius : options.radius || null + }; + + layer.textSearch(textSearchRequest, options.textSearch); + } + break; + } + + if (layer !== undefined) { + if (typeof layer.setOptions == 'function') { + layer.setOptions(options); + } + if (typeof layer.setMap == 'function') { + layer.setMap(this.map); + } + + return layer; + } +}; + +GMaps.prototype.removeLayer = function(layer) { + if (typeof(layer) == "string" && this.singleLayers[layer] !== undefined) { + this.singleLayers[layer].setMap(null); + + delete this.singleLayers[layer]; + } + else { + for (var i = 0; i < this.layers.length; i++) { + if (this.layers[i] === layer) { + this.layers[i].setMap(null); + this.layers.splice(i, 1); + + break; + } + } + } +}; + +var travelMode, unitSystem; + +GMaps.prototype.getRoutes = function(options) { + switch (options.travelMode) { + case 'bicycling': + travelMode = google.maps.TravelMode.BICYCLING; + break; + case 'transit': + travelMode = google.maps.TravelMode.TRANSIT; + break; + case 'driving': + travelMode = google.maps.TravelMode.DRIVING; + break; + default: + travelMode = google.maps.TravelMode.WALKING; + break; + } + + if (options.unitSystem === 'imperial') { + unitSystem = google.maps.UnitSystem.IMPERIAL; + } + else { + unitSystem = google.maps.UnitSystem.METRIC; + } + + var base_options = { + avoidHighways: false, + avoidTolls: false, + optimizeWaypoints: false, + waypoints: [] + }, + request_options = extend_object(base_options, options); + + request_options.origin = /string/.test(typeof options.origin) ? options.origin : new google.maps.LatLng(options.origin[0], options.origin[1]); + request_options.destination = /string/.test(typeof options.destination) ? options.destination : new google.maps.LatLng(options.destination[0], options.destination[1]); + request_options.travelMode = travelMode; + request_options.unitSystem = unitSystem; + + delete request_options.callback; + delete request_options.error; + + var self = this, + service = new google.maps.DirectionsService(); + + service.route(request_options, function(result, status) { + if (status === google.maps.DirectionsStatus.OK) { + for (var r in result.routes) { + if (result.routes.hasOwnProperty(r)) { + self.routes.push(result.routes[r]); + } + } + + if (options.callback) { + options.callback(self.routes); + } + } + else { + if (options.error) { + options.error(result, status); + } + } + }); +}; + +GMaps.prototype.removeRoutes = function() { + this.routes = []; +}; + +GMaps.prototype.getElevations = function(options) { + options = extend_object({ + locations: [], + path : false, + samples : 256 + }, options); + + if (options.locations.length > 0) { + if (options.locations[0].length > 0) { + options.locations = array_flat(array_map([options.locations], arrayToLatLng, false)); + } + } + + var callback = options.callback; + delete options.callback; + + var service = new google.maps.ElevationService(); + + //location request + if (!options.path) { + delete options.path; + delete options.samples; + + service.getElevationForLocations(options, function(result, status) { + if (callback && typeof(callback) === "function") { + callback(result, status); + } + }); + //path request + } else { + var pathRequest = { + path : options.locations, + samples : options.samples + }; + + service.getElevationAlongPath(pathRequest, function(result, status) { + if (callback && typeof(callback) === "function") { + callback(result, status); + } + }); + } +}; + +GMaps.prototype.cleanRoute = GMaps.prototype.removePolylines; + +GMaps.prototype.drawRoute = function(options) { + var self = this; + + this.getRoutes({ + origin: options.origin, + destination: options.destination, + travelMode: options.travelMode, + waypoints: options.waypoints, + unitSystem: options.unitSystem, + error: options.error, + callback: function(e) { + if (e.length > 0) { + self.drawPolyline({ + path: e[e.length - 1].overview_path, + strokeColor: options.strokeColor, + strokeOpacity: options.strokeOpacity, + strokeWeight: options.strokeWeight + }); + + if (options.callback) { + options.callback(e[e.length - 1]); + } + } + } + }); +}; + +GMaps.prototype.travelRoute = function(options) { + if (options.origin && options.destination) { + this.getRoutes({ + origin: options.origin, + destination: options.destination, + travelMode: options.travelMode, + waypoints : options.waypoints, + unitSystem: options.unitSystem, + error: options.error, + callback: function(e) { + //start callback + if (e.length > 0 && options.start) { + options.start(e[e.length - 1]); + } + + //step callback + if (e.length > 0 && options.step) { + var route = e[e.length - 1]; + if (route.legs.length > 0) { + var steps = route.legs[0].steps; + for (var i=0, step; step=steps[i]; i++) { + step.step_number = i; + options.step(step, (route.legs[0].steps.length - 1)); + } + } + } + + //end callback + if (e.length > 0 && options.end) { + options.end(e[e.length - 1]); + } + } + }); + } + else if (options.route) { + if (options.route.legs.length > 0) { + var steps = options.route.legs[0].steps; + for (var i=0, step; step=steps[i]; i++) { + step.step_number = i; + options.step(step); + } + } + } +}; + +GMaps.prototype.drawSteppedRoute = function(options) { + var self = this; + + if (options.origin && options.destination) { + this.getRoutes({ + origin: options.origin, + destination: options.destination, + travelMode: options.travelMode, + waypoints : options.waypoints, + error: options.error, + callback: function(e) { + //start callback + if (e.length > 0 && options.start) { + options.start(e[e.length - 1]); + } + + //step callback + if (e.length > 0 && options.step) { + var route = e[e.length - 1]; + if (route.legs.length > 0) { + var steps = route.legs[0].steps; + for (var i=0, step; step=steps[i]; i++) { + step.step_number = i; + self.drawPolyline({ + path: step.path, + strokeColor: options.strokeColor, + strokeOpacity: options.strokeOpacity, + strokeWeight: options.strokeWeight + }); + options.step(step, (route.legs[0].steps.length - 1)); + } + } + } + + //end callback + if (e.length > 0 && options.end) { + options.end(e[e.length - 1]); + } + } + }); + } + else if (options.route) { + if (options.route.legs.length > 0) { + var steps = options.route.legs[0].steps; + for (var i=0, step; step=steps[i]; i++) { + step.step_number = i; + self.drawPolyline({ + path: step.path, + strokeColor: options.strokeColor, + strokeOpacity: options.strokeOpacity, + strokeWeight: options.strokeWeight + }); + options.step(step); + } + } + } +}; + +GMaps.Route = function(options) { + this.origin = options.origin; + this.destination = options.destination; + this.waypoints = options.waypoints; + + this.map = options.map; + this.route = options.route; + this.step_count = 0; + this.steps = this.route.legs[0].steps; + this.steps_length = this.steps.length; + + this.polyline = this.map.drawPolyline({ + path: new google.maps.MVCArray(), + strokeColor: options.strokeColor, + strokeOpacity: options.strokeOpacity, + strokeWeight: options.strokeWeight + }).getPath(); +}; + +GMaps.Route.prototype.getRoute = function(options) { + var self = this; + + this.map.getRoutes({ + origin : this.origin, + destination : this.destination, + travelMode : options.travelMode, + waypoints : this.waypoints || [], + error: options.error, + callback : function() { + self.route = e[0]; + + if (options.callback) { + options.callback.call(self); + } + } + }); +}; + +GMaps.Route.prototype.back = function() { + if (this.step_count > 0) { + this.step_count--; + var path = this.route.legs[0].steps[this.step_count].path; + + for (var p in path){ + if (path.hasOwnProperty(p)){ + this.polyline.pop(); + } + } + } +}; + +GMaps.Route.prototype.forward = function() { + if (this.step_count < this.steps_length) { + var path = this.route.legs[0].steps[this.step_count].path; + + for (var p in path){ + if (path.hasOwnProperty(p)){ + this.polyline.push(path[p]); + } + } + this.step_count++; + } +}; + +GMaps.prototype.checkGeofence = function(lat, lng, fence) { + return fence.containsLatLng(new google.maps.LatLng(lat, lng)); +}; + +GMaps.prototype.checkMarkerGeofence = function(marker, outside_callback) { + if (marker.fences) { + for (var i = 0, fence; fence = marker.fences[i]; i++) { + var pos = marker.getPosition(); + if (!this.checkGeofence(pos.lat(), pos.lng(), fence)) { + outside_callback(marker, fence); + } + } + } +}; + +GMaps.prototype.toImage = function(options) { + var options = options || {}, + static_map_options = {}; + + static_map_options['size'] = options['size'] || [this.el.clientWidth, this.el.clientHeight]; + static_map_options['lat'] = this.getCenter().lat(); + static_map_options['lng'] = this.getCenter().lng(); + + if (this.markers.length > 0) { + static_map_options['markers'] = []; + + for (var i = 0; i < this.markers.length; i++) { + static_map_options['markers'].push({ + lat: this.markers[i].getPosition().lat(), + lng: this.markers[i].getPosition().lng() + }); + } + } + + if (this.polylines.length > 0) { + var polyline = this.polylines[0]; + + static_map_options['polyline'] = {}; + static_map_options['polyline']['path'] = google.maps.geometry.encoding.encodePath(polyline.getPath()); + static_map_options['polyline']['strokeColor'] = polyline.strokeColor + static_map_options['polyline']['strokeOpacity'] = polyline.strokeOpacity + static_map_options['polyline']['strokeWeight'] = polyline.strokeWeight + } + + return GMaps.staticMapURL(static_map_options); +}; + +GMaps.staticMapURL = function(options){ + var parameters = [], + data, + static_root = 'https://maps.googleapis.com/maps/api/staticmap'; + + if (options.url) { + static_root = options.url; + delete options.url; + } + + static_root += '?'; + + var markers = options.markers; + + delete options.markers; + + if (!markers && options.marker) { + markers = [options.marker]; + delete options.marker; + } + + var styles = options.styles; + + delete options.styles; + + var polyline = options.polyline; + delete options.polyline; + + /** Map options **/ + if (options.center) { + parameters.push('center=' + options.center); + delete options.center; + } + else if (options.address) { + parameters.push('center=' + options.address); + delete options.address; + } + else if (options.lat) { + parameters.push(['center=', options.lat, ',', options.lng].join('')); + delete options.lat; + delete options.lng; + } + else if (options.visible) { + var visible = encodeURI(options.visible.join('|')); + parameters.push('visible=' + visible); + } + + var size = options.size; + if (size) { + if (size.join) { + size = size.join('x'); + } + delete options.size; + } + else { + size = '630x300'; + } + parameters.push('size=' + size); + + if (!options.zoom && options.zoom !== false) { + options.zoom = 15; + } + + var sensor = options.hasOwnProperty('sensor') ? !!options.sensor : true; + delete options.sensor; + parameters.push('sensor=' + sensor); + + for (var param in options) { + if (options.hasOwnProperty(param)) { + parameters.push(param + '=' + options[param]); + } + } + + /** Markers **/ + if (markers) { + var marker, loc; + + for (var i=0; data=markers[i]; i++) { + marker = []; + + if (data.size && data.size !== 'normal') { + marker.push('size:' + data.size); + delete data.size; + } + else if (data.icon) { + marker.push('icon:' + encodeURI(data.icon)); + delete data.icon; + } + + if (data.color) { + marker.push('color:' + data.color.replace('#', '0x')); + delete data.color; + } + + if (data.label) { + marker.push('label:' + data.label[0].toUpperCase()); + delete data.label; + } + + loc = (data.address ? data.address : data.lat + ',' + data.lng); + delete data.address; + delete data.lat; + delete data.lng; + + for(var param in data){ + if (data.hasOwnProperty(param)) { + marker.push(param + ':' + data[param]); + } + } + + if (marker.length || i === 0) { + marker.push(loc); + marker = marker.join('|'); + parameters.push('markers=' + encodeURI(marker)); + } + // New marker without styles + else { + marker = parameters.pop() + encodeURI('|' + loc); + parameters.push(marker); + } + } + } + + /** Map Styles **/ + if (styles) { + for (var i = 0; i < styles.length; i++) { + var styleRule = []; + if (styles[i].featureType){ + styleRule.push('feature:' + styles[i].featureType.toLowerCase()); + } + + if (styles[i].elementType) { + styleRule.push('element:' + styles[i].elementType.toLowerCase()); + } + + for (var j = 0; j < styles[i].stylers.length; j++) { + for (var p in styles[i].stylers[j]) { + var ruleArg = styles[i].stylers[j][p]; + if (p == 'hue' || p == 'color') { + ruleArg = '0x' + ruleArg.substring(1); + } + styleRule.push(p + ':' + ruleArg); + } + } + + var rule = styleRule.join('|'); + if (rule != '') { + parameters.push('style=' + rule); + } + } + } + + /** Polylines **/ + function parseColor(color, opacity) { + if (color[0] === '#'){ + color = color.replace('#', '0x'); + + if (opacity) { + opacity = parseFloat(opacity); + opacity = Math.min(1, Math.max(opacity, 0)); + if (opacity === 0) { + return '0x00000000'; + } + opacity = (opacity * 255).toString(16); + if (opacity.length === 1) { + opacity += opacity; + } + + color = color.slice(0,8) + opacity; + } + } + return color; + } + + if (polyline) { + data = polyline; + polyline = []; + + if (data.strokeWeight) { + polyline.push('weight:' + parseInt(data.strokeWeight, 10)); + } + + if (data.strokeColor) { + var color = parseColor(data.strokeColor, data.strokeOpacity); + polyline.push('color:' + color); + } + + if (data.fillColor) { + var fillcolor = parseColor(data.fillColor, data.fillOpacity); + polyline.push('fillcolor:' + fillcolor); + } + + var path = data.path; + if (path.join) { + for (var j=0, pos; pos=path[j]; j++) { + polyline.push(pos.join(',')); + } + } + else { + polyline.push('enc:' + path); + } + + polyline = polyline.join('|'); + parameters.push('path=' + encodeURI(polyline)); + } + + /** Retina support **/ + var dpi = window.devicePixelRatio || 1; + parameters.push('scale=' + dpi); + + parameters = parameters.join('&'); + return static_root + parameters; +}; + +GMaps.prototype.addMapType = function(mapTypeId, options) { + if (options.hasOwnProperty("getTileUrl") && typeof(options["getTileUrl"]) == "function") { + options.tileSize = options.tileSize || new google.maps.Size(256, 256); + + var mapType = new google.maps.ImageMapType(options); + + this.map.mapTypes.set(mapTypeId, mapType); + } + else { + throw "'getTileUrl' function required."; + } +}; + +GMaps.prototype.addOverlayMapType = function(options) { + if (options.hasOwnProperty("getTile") && typeof(options["getTile"]) == "function") { + var overlayMapTypeIndex = options.index; + + delete options.index; + + this.map.overlayMapTypes.insertAt(overlayMapTypeIndex, options); + } + else { + throw "'getTile' function required."; + } +}; + +GMaps.prototype.removeOverlayMapType = function(overlayMapTypeIndex) { + this.map.overlayMapTypes.removeAt(overlayMapTypeIndex); +}; + +GMaps.prototype.addStyle = function(options) { + var styledMapType = new google.maps.StyledMapType(options.styles, { name: options.styledMapName }); + + this.map.mapTypes.set(options.mapTypeId, styledMapType); +}; + +GMaps.prototype.setStyle = function(mapTypeId) { + this.map.setMapTypeId(mapTypeId); +}; + +GMaps.prototype.createPanorama = function(streetview_options) { + if (!streetview_options.hasOwnProperty('lat') || !streetview_options.hasOwnProperty('lng')) { + streetview_options.lat = this.getCenter().lat(); + streetview_options.lng = this.getCenter().lng(); + } + + this.panorama = GMaps.createPanorama(streetview_options); + + this.map.setStreetView(this.panorama); + + return this.panorama; +}; + +GMaps.createPanorama = function(options) { + var el = getElementById(options.el, options.context); + + options.position = new google.maps.LatLng(options.lat, options.lng); + + delete options.el; + delete options.context; + delete options.lat; + delete options.lng; + + var streetview_events = ['closeclick', 'links_changed', 'pano_changed', 'position_changed', 'pov_changed', 'resize', 'visible_changed'], + streetview_options = extend_object({visible : true}, options); + + for (var i = 0; i < streetview_events.length; i++) { + delete streetview_options[streetview_events[i]]; + } + + var panorama = new google.maps.StreetViewPanorama(el, streetview_options); + + for (var i = 0; i < streetview_events.length; i++) { + (function(object, name) { + if (options[name]) { + google.maps.event.addListener(object, name, function(){ + options[name].apply(this); + }); + } + })(panorama, streetview_events[i]); + } + + return panorama; +}; + +GMaps.prototype.on = function(event_name, handler) { + return GMaps.on(event_name, this, handler); +}; + +GMaps.prototype.off = function(event_name) { + GMaps.off(event_name, this); +}; + +GMaps.custom_events = ['marker_added', 'marker_removed', 'polyline_added', 'polyline_removed', 'polygon_added', 'polygon_removed', 'geolocated', 'geolocation_failed']; + +GMaps.on = function(event_name, object, handler) { + if (GMaps.custom_events.indexOf(event_name) == -1) { + if(object instanceof GMaps) object = object.map; + return google.maps.event.addListener(object, event_name, handler); + } + else { + var registered_event = { + handler : handler, + eventName : event_name + }; + + object.registered_events[event_name] = object.registered_events[event_name] || []; + object.registered_events[event_name].push(registered_event); + + return registered_event; + } +}; + +GMaps.off = function(event_name, object) { + if (GMaps.custom_events.indexOf(event_name) == -1) { + if(object instanceof GMaps) object = object.map; + google.maps.event.clearListeners(object, event_name); + } + else { + object.registered_events[event_name] = []; + } +}; + +GMaps.fire = function(event_name, object, scope) { + if (GMaps.custom_events.indexOf(event_name) == -1) { + google.maps.event.trigger(object, event_name, Array.prototype.slice.apply(arguments).slice(2)); + } + else { + if(event_name in scope.registered_events) { + var firing_events = scope.registered_events[event_name]; + + for(var i = 0; i < firing_events.length; i++) { + (function(handler, scope, object) { + handler.apply(scope, [object]); + })(firing_events[i]['handler'], scope, object); + } + } + } +}; + +GMaps.geolocate = function(options) { + var complete_callback = options.always || options.complete; + + if (navigator.geolocation) { + navigator.geolocation.getCurrentPosition(function(position) { + options.success(position); + + if (complete_callback) { + complete_callback(); + } + }, function(error) { + options.error(error); + + if (complete_callback) { + complete_callback(); + } + }, options.options); + } + else { + options.not_supported(); + + if (complete_callback) { + complete_callback(); + } + } +}; + +GMaps.geocode = function(options) { + this.geocoder = new google.maps.Geocoder(); + var callback = options.callback; + if (options.hasOwnProperty('lat') && options.hasOwnProperty('lng')) { + options.latLng = new google.maps.LatLng(options.lat, options.lng); + } + + delete options.lat; + delete options.lng; + delete options.callback; + + this.geocoder.geocode(options, function(results, status) { + callback(results, status); + }); +}; + +//========================== +// Polygon containsLatLng +// https://github.com/tparkin/Google-Maps-Point-in-Polygon +// Poygon getBounds extension - google-maps-extensions +// http://code.google.com/p/google-maps-extensions/source/browse/google.maps.Polygon.getBounds.js +if (!google.maps.Polygon.prototype.getBounds) { + google.maps.Polygon.prototype.getBounds = function(latLng) { + var bounds = new google.maps.LatLngBounds(); + var paths = this.getPaths(); + var path; + + for (var p = 0; p < paths.getLength(); p++) { + path = paths.getAt(p); + for (var i = 0; i < path.getLength(); i++) { + bounds.extend(path.getAt(i)); + } + } + + return bounds; + }; +} + +if (!google.maps.Polygon.prototype.containsLatLng) { + // Polygon containsLatLng - method to determine if a latLng is within a polygon + google.maps.Polygon.prototype.containsLatLng = function(latLng) { + // Exclude points outside of bounds as there is no way they are in the poly + var bounds = this.getBounds(); + + if (bounds !== null && !bounds.contains(latLng)) { + return false; + } + + // Raycast point in polygon method + var inPoly = false; + + var numPaths = this.getPaths().getLength(); + for (var p = 0; p < numPaths; p++) { + var path = this.getPaths().getAt(p); + var numPoints = path.getLength(); + var j = numPoints - 1; + + for (var i = 0; i < numPoints; i++) { + var vertex1 = path.getAt(i); + var vertex2 = path.getAt(j); + + if (vertex1.lng() < latLng.lng() && vertex2.lng() >= latLng.lng() || vertex2.lng() < latLng.lng() && vertex1.lng() >= latLng.lng()) { + if (vertex1.lat() + (latLng.lng() - vertex1.lng()) / (vertex2.lng() - vertex1.lng()) * (vertex2.lat() - vertex1.lat()) < latLng.lat()) { + inPoly = !inPoly; + } + } + + j = i; + } + } + + return inPoly; + }; +} + +if (!google.maps.Circle.prototype.containsLatLng) { + google.maps.Circle.prototype.containsLatLng = function(latLng) { + if (google.maps.geometry) { + return google.maps.geometry.spherical.computeDistanceBetween(this.getCenter(), latLng) <= this.getRadius(); + } + else { + return true; + } + }; +} + +google.maps.LatLngBounds.prototype.containsLatLng = function(latLng) { + return this.contains(latLng); +}; + +google.maps.Marker.prototype.setFences = function(fences) { + this.fences = fences; +}; + +google.maps.Marker.prototype.addFence = function(fence) { + this.fences.push(fence); +}; + +google.maps.Marker.prototype.getId = function() { + return this['__gm_id']; +}; + +//========================== +// Array indexOf +// https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf +if (!Array.prototype.indexOf) { + Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) { + "use strict"; + if (this == null) { + throw new TypeError(); + } + var t = Object(this); + var len = t.length >>> 0; + if (len === 0) { + return -1; + } + var n = 0; + if (arguments.length > 1) { + n = Number(arguments[1]); + if (n != n) { // shortcut for verifying if it's NaN + n = 0; + } else if (n != 0 && n != Infinity && n != -Infinity) { + n = (n > 0 || -1) * Math.floor(Math.abs(n)); + } + } + if (n >= len) { + return -1; + } + var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0); + for (; k < len; k++) { + if (k in t && t[k] === searchElement) { + return k; + } + } + return -1; + } +} + +return GMaps; +})); diff --git a/public/js/owl.carousel.min.js b/public/js/owl.carousel.min.js new file mode 100644 index 0000000..98ae16e --- /dev/null +++ b/public/js/owl.carousel.min.js @@ -0,0 +1 @@ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7(A 3c.3q!=="9"){3c.3q=9(e){9 t(){}t.5S=e;p 5R t}}(9(e,t,n){h r={1N:9(t,n){h r=c;r.$k=e(n);r.6=e.4M({},e.37.2B.6,r.$k.v(),t);r.2A=t;r.4L()},4L:9(){9 r(e){h n,r="";7(A t.6.33==="9"){t.6.33.R(c,[e])}l{1A(n 38 e.d){7(e.d.5M(n)){r+=e.d[n].1K}}t.$k.2y(r)}t.3t()}h t=c,n;7(A t.6.2H==="9"){t.6.2H.R(c,[t.$k])}7(A t.6.2O==="2Y"){n=t.6.2O;e.5K(n,r)}l{t.3t()}},3t:9(){h e=c;e.$k.v("d-4I",e.$k.2x("2w")).v("d-4F",e.$k.2x("H"));e.$k.z({2u:0});e.2t=e.6.q;e.4E();e.5v=0;e.1X=14;e.23()},23:9(){h e=c;7(e.$k.25().N===0){p b}e.1M();e.4C();e.$S=e.$k.25();e.E=e.$S.N;e.4B();e.$G=e.$k.17(".d-1K");e.$K=e.$k.17(".d-1p");e.3u="U";e.13=0;e.26=[0];e.m=0;e.4A();e.4z()},4z:9(){h e=c;e.2V();e.2W();e.4t();e.30();e.4r();e.4q();e.2p();e.4o();7(e.6.2o!==b){e.4n(e.6.2o)}7(e.6.O===j){e.6.O=4Q}e.19();e.$k.17(".d-1p").z("4i","4h");7(!e.$k.2m(":3n")){e.3o()}l{e.$k.z("2u",1)}e.5O=b;e.2l();7(A e.6.3s==="9"){e.6.3s.R(c,[e.$k])}},2l:9(){h e=c;7(e.6.1Z===j){e.1Z()}7(e.6.1B===j){e.1B()}e.4g();7(A e.6.3w==="9"){e.6.3w.R(c,[e.$k])}},3x:9(){h e=c;7(A e.6.3B==="9"){e.6.3B.R(c,[e.$k])}e.3o();e.2V();e.2W();e.4f();e.30();e.2l();7(A e.6.3D==="9"){e.6.3D.R(c,[e.$k])}},3F:9(){h e=c;t.1c(9(){e.3x()},0)},3o:9(){h e=c;7(e.$k.2m(":3n")===b){e.$k.z({2u:0});t.18(e.1C);t.18(e.1X)}l{p b}e.1X=t.4d(9(){7(e.$k.2m(":3n")){e.3F();e.$k.4b({2u:1},2M);t.18(e.1X)}},5x)},4B:9(){h e=c;e.$S.5n(\'\').4a(\'\');e.$k.17(".d-1p").4a(\'\');e.1H=e.$k.17(".d-1p-49");e.$k.z("4i","4h")},1M:9(){h e=c,t=e.$k.1I(e.6.1M),n=e.$k.1I(e.6.2i);7(!t){e.$k.I(e.6.1M)}7(!n){e.$k.I(e.6.2i)}},2V:9(){h t=c,n,r;7(t.6.2Z===b){p b}7(t.6.48===j){t.6.q=t.2t=1;t.6.1h=b;t.6.1s=b;t.6.1O=b;t.6.22=b;t.6.1Q=b;t.6.1R=b;p b}n=e(t.6.47).1f();7(n>(t.6.1s[0]||t.2t)){t.6.q=t.2t}7(t.6.1h!==b){t.6.1h.5g(9(e,t){p e[0]-t[0]});1A(r=0;rt.E&&t.6.46===j){t.6.q=t.E}},4r:9(){h n=c,r,i;7(n.6.2Z!==j){p b}i=e(t).1f();n.3d=9(){7(e(t).1f()!==i){7(n.6.O!==b){t.18(n.1C)}t.5d(r);r=t.1c(9(){i=e(t).1f();n.3x()},n.6.45)}};e(t).44(n.3d)},4f:9(){h e=c;e.2g(e.m);7(e.6.O!==b){e.3j()}},43:9(){h t=c,n=0,r=t.E-t.6.q;t.$G.2f(9(i){h s=e(c);s.z({1f:t.M}).v("d-1K",3p(i));7(i%t.6.q===0||i===r){7(!(i>r)){n+=1}}s.v("d-24",n)})},42:9(){h e=c,t=e.$G.N*e.M;e.$K.z({1f:t*2,T:0});e.43()},2W:9(){h e=c;e.40();e.42();e.3Z();e.3v()},40:9(){h e=c;e.M=1F.4O(e.$k.1f()/e.6.q)},3v:9(){h e=c,t=(e.E*e.M-e.6.q*e.M)*-1;7(e.6.q>e.E){e.D=0;t=0;e.3z=0}l{e.D=e.E-e.6.q;e.3z=t}p t},3Y:9(){p 0},3Z:9(){h t=c,n=0,r=0,i,s,o;t.J=[0];t.3E=[];1A(i=0;i\').5m("5l",!t.F.15).5c(t.$k)}7(t.6.1v===j){t.3T()}7(t.6.2a===j){t.3S()}},3S:9(){h t=c,n=e(\'\');t.B.1o(n);t.1u=e("",{"H":"d-1n",2y:t.6.2U[0]||""});t.1q=e("",{"H":"d-U",2y:t.6.2U[1]||""});n.1o(t.1u).1o(t.1q);n.w("2X.B 21.B",\'L[H^="d"]\',9(e){e.1l()});n.w("2n.B 28.B",\'L[H^="d"]\',9(n){n.1l();7(e(c).1I("d-U")){t.U()}l{t.1n()}})},3T:9(){h t=c;t.1k=e(\'\');t.B.1o(t.1k);t.1k.w("2n.B 28.B",".d-1j",9(n){n.1l();7(3p(e(c).v("d-1j"))!==t.m){t.1g(3p(e(c).v("d-1j")),j)}})},3P:9(){h t=c,n,r,i,s,o,u;7(t.6.1v===b){p b}t.1k.2y("");n=0;r=t.E-t.E%t.6.q;1A(s=0;s",{"H":"d-1j"});u=e("<3N>",{4R:t.6.39===j?n:"","H":t.6.39===j?"d-59":""});o.1o(u);o.v("d-1j",r===s?i:s);o.v("d-24",n);t.1k.1o(o)}}t.35()},35:9(){h t=c;7(t.6.1v===b){p b}t.1k.17(".d-1j").2f(9(){7(e(c).v("d-24")===e(t.$G[t.m]).v("d-24")){t.1k.17(".d-1j").Z("2d");e(c).I("2d")}})},3e:9(){h e=c;7(e.6.2a===b){p b}7(e.6.2e===b){7(e.m===0&&e.D===0){e.1u.I("1b");e.1q.I("1b")}l 7(e.m===0&&e.D!==0){e.1u.I("1b");e.1q.Z("1b")}l 7(e.m===e.D){e.1u.Z("1b");e.1q.I("1b")}l 7(e.m!==0&&e.m!==e.D){e.1u.Z("1b");e.1q.Z("1b")}}},30:9(){h e=c;e.3P();e.3e();7(e.B){7(e.6.q>=e.E){e.B.3K()}l{e.B.3J()}}},55:9(){h e=c;7(e.B){e.B.3k()}},U:9(e){h t=c;7(t.1E){p b}t.m+=t.6.12===j?t.6.q:1;7(t.m>t.D+(t.6.12===j?t.6.q-1:0)){7(t.6.2e===j){t.m=0;e="2k"}l{t.m=t.D;p b}}t.1g(t.m,e)},1n:9(e){h t=c;7(t.1E){p b}7(t.6.12===j&&t.m>0&&t.m=i.D){e=i.D}l 7(e<=0){e=0}i.m=i.d.m=e;7(i.6.2o!==b&&r!=="4e"&&i.6.q===1&&i.F.1x===j){i.1t(0);7(i.F.1x===j){i.1L(i.J[e])}l{i.1r(i.J[e],1)}i.2r();i.4l();p b}s=i.J[e];7(i.F.1x===j){i.1T=b;7(n===j){i.1t("1w");t.1c(9(){i.1T=j},i.6.1w)}l 7(n==="2k"){i.1t(i.6.2v);t.1c(9(){i.1T=j},i.6.2v)}l{i.1t("1m");t.1c(9(){i.1T=j},i.6.1m)}i.1L(s)}l{7(n===j){i.1r(s,i.6.1w)}l 7(n==="2k"){i.1r(s,i.6.2v)}l{i.1r(s,i.6.1m)}}i.2r()},2g:9(e){h t=c;7(A t.6.1Y==="9"){t.6.1Y.R(c,[t.$k])}7(e>=t.D||e===-1){e=t.D}l 7(e<=0){e=0}t.1t(0);7(t.F.1x===j){t.1L(t.J[e])}l{t.1r(t.J[e],1)}t.m=t.d.m=e;t.2r()},2r:9(){h e=c;e.26.2D(e.m);e.13=e.d.13=e.26[e.26.N-2];e.26.5f(0);7(e.13!==e.m){e.35();e.3e();e.2l();7(e.6.O!==b){e.3j()}}7(A e.6.3y==="9"&&e.13!==e.m){e.6.3y.R(c,[e.$k])}},X:9(){h e=c;e.3A="X";t.18(e.1C)},3j:9(){h e=c;7(e.3A!=="X"){e.19()}},19:9(){h e=c;e.3A="19";7(e.6.O===b){p b}t.18(e.1C);e.1C=t.4d(9(){e.U(j)},e.6.O)},1t:9(e){h t=c;7(e==="1m"){t.$K.z(t.2z(t.6.1m))}l 7(e==="1w"){t.$K.z(t.2z(t.6.1w))}l 7(A e!=="2Y"){t.$K.z(t.2z(e))}},2z:9(e){p{"-1G-1a":"2C "+e+"1z 2s","-1W-1a":"2C "+e+"1z 2s","-o-1a":"2C "+e+"1z 2s",1a:"2C "+e+"1z 2s"}},3H:9(){p{"-1G-1a":"","-1W-1a":"","-o-1a":"",1a:""}},3I:9(e){p{"-1G-P":"1i("+e+"V, C, C)","-1W-P":"1i("+e+"V, C, C)","-o-P":"1i("+e+"V, C, C)","-1z-P":"1i("+e+"V, C, C)",P:"1i("+e+"V, C,C)"}},1L:9(e){h t=c;t.$K.z(t.3I(e))},3L:9(e){h t=c;t.$K.z({T:e})},1r:9(e,t){h n=c;n.29=b;n.$K.X(j,j).4b({T:e},{54:t||n.6.1m,3M:9(){n.29=j}})},4E:9(){h e=c,r="1i(C, C, C)",i=n.56("L"),s,o,u,a;i.2w.3O=" -1W-P:"+r+"; -1z-P:"+r+"; -o-P:"+r+"; -1G-P:"+r+"; P:"+r;s=/1i\\(C, C, C\\)/g;o=i.2w.3O.5i(s);u=o!==14&&o.N===1;a="5z"38 t||t.5Q.4P;e.F={1x:u,15:a}},4q:9(){h e=c;7(e.6.27!==b||e.6.1U!==b){e.3Q();e.3R()}},4C:9(){h e=c,t=["s","e","x"];e.16={};7(e.6.27===j&&e.6.1U===j){t=["2X.d 21.d","2N.d 3U.d","2n.d 3V.d 28.d"]}l 7(e.6.27===b&&e.6.1U===j){t=["2X.d","2N.d","2n.d 3V.d"]}l 7(e.6.27===j&&e.6.1U===b){t=["21.d","3U.d","28.d"]}e.16.3W=t[0];e.16.2K=t[1];e.16.2J=t[2]},3R:9(){h t=c;t.$k.w("5y.d",9(e){e.1l()});t.$k.w("21.3X",9(t){p e(t.1d).2m("5C, 5E, 5F, 5N")})},3Q:9(){9 s(e){7(e.2b!==W){p{x:e.2b[0].2c,y:e.2b[0].41}}7(e.2b===W){7(e.2c!==W){p{x:e.2c,y:e.41}}7(e.2c===W){p{x:e.52,y:e.53}}}}9 o(t){7(t==="w"){e(n).w(r.16.2K,a);e(n).w(r.16.2J,f)}l 7(t==="Q"){e(n).Q(r.16.2K);e(n).Q(r.16.2J)}}9 u(n){h u=n.3h||n||t.3g,a;7(u.5a===3){p b}7(r.E<=r.6.q){p}7(r.29===b&&!r.6.3f){p b}7(r.1T===b&&!r.6.3f){p b}7(r.6.O!==b){t.18(r.1C)}7(r.F.15!==j&&!r.$K.1I("3b")){r.$K.I("3b")}r.11=0;r.Y=0;e(c).z(r.3H());a=e(c).2h();i.2S=a.T;i.2R=s(u).x-a.T;i.2P=s(u).y-a.5o;o("w");i.2j=b;i.2L=u.1d||u.4c}9 a(o){h u=o.3h||o||t.3g,a,f;r.11=s(u).x-i.2R;r.2I=s(u).y-i.2P;r.Y=r.11-i.2S;7(A r.6.2E==="9"&&i.3C!==j&&r.Y!==0){i.3C=j;r.6.2E.R(r,[r.$k])}7((r.Y>8||r.Y<-8)&&r.F.15===j){7(u.1l!==W){u.1l()}l{u.5L=b}i.2j=j}7((r.2I>10||r.2I<-10)&&i.2j===b){e(n).Q("2N.d")}a=9(){p r.Y/5};f=9(){p r.3z+r.Y/5};r.11=1F.3v(1F.3Y(r.11,a()),f());7(r.F.1x===j){r.1L(r.11)}l{r.3L(r.11)}}9 f(n){h s=n.3h||n||t.3g,u,a,f;s.1d=s.1d||s.4c;i.3C=b;7(r.F.15!==j){r.$K.Z("3b")}7(r.Y<0){r.1y=r.d.1y="T"}l{r.1y=r.d.1y="3i"}7(r.Y!==0){u=r.4j();r.1g(u,b,"4e");7(i.2L===s.1d&&r.F.15!==j){e(s.1d).w("3a.4k",9(t){t.4S();t.4T();t.1l();e(t.1d).Q("3a.4k")});a=e.4N(s.1d,"4V").3a;f=a.4W();a.4X(0,0,f)}}o("Q")}h r=c,i={2R:0,2P:0,4Y:0,2S:0,2h:14,4Z:14,50:14,2j:14,51:14,2L:14};r.29=j;r.$k.w(r.16.3W,".d-1p",u)},4j:9(){h e=c,t=e.4m();7(t>e.D){e.m=e.D;t=e.D}l 7(e.11>=0){t=0;e.m=0}p t},4m:9(){h t=c,n=t.6.12===j?t.3E:t.J,r=t.11,i=14;e.2f(n,9(s,o){7(r-t.M/20>n[s+1]&&r-t.M/20(n[s+1]||n[s]-t.M)&&t.34()==="3i"){7(t.6.12===j){i=n[s+1]||n[n.N-1];t.m=e.4p(i,t.J)}l{i=n[s+1];t.m=s+1}}});p t.m},34:9(){h e=c,t;7(e.Y<0){t="3i";e.3u="U"}l{t="T";e.3u="1n"}p t},4A:9(){h e=c;e.$k.w("d.U",9(){e.U()});e.$k.w("d.1n",9(){e.1n()});e.$k.w("d.19",9(t,n){e.6.O=n;e.19();e.32="19"});e.$k.w("d.X",9(){e.X();e.32="X"});e.$k.w("d.1g",9(t,n){e.1g(n)});e.$k.w("d.2g",9(t,n){e.2g(n)})},2p:9(){h e=c;7(e.6.2p===j&&e.F.15!==j&&e.6.O!==b){e.$k.w("57",9(){e.X()});e.$k.w("58",9(){7(e.32!=="X"){e.19()}})}},1Z:9(){h t=c,n,r,i,s,o;7(t.6.1Z===b){p b}1A(n=0;n=t.m}l{o=j}7(o&&i=n.$S.N||r===-1){n.$S.1S(-1).5X(e)}l{n.$S.1S(r).5Y(e)}n.23()},5Z:9(e){h t=c,n;7(t.$k.25().N===0){p b}7(e===W||e===-1){n=-1}l{n=e}t.1V();t.$S.1S(n).3k();t.23()}};e.37.2B=9(t){p c.2f(9(){7(e(c).v("d-1N")===j){p b}e(c).v("d-1N",j);h n=3c.3q(r);n.1N(t,c);e.v(c,"2B",n)})};e.37.2B.6={q:5,1h:b,1s:[60,4],1O:[61,3],22:[62,2],1Q:b,1R:[63,1],48:b,46:b,1m:2M,1w:64,2v:65,O:b,2p:b,2a:b,2U:["1n","U"],2e:j,12:b,1v:j,39:b,2Z:j,45:2M,47:t,1M:"d-66",2i:"d-2i",1Z:b,4v:j,4x:"4y",1B:b,2O:b,33:b,3f:j,27:j,1U:j,2F:b,2o:b,3B:b,3D:b,2H:b,3s:b,1Y:b,3y:b,3w:b,2E:b,2T:b}})(67,68,69)',62,382,'||||||options|if||function||false|this|owl||||var||true|elem|else|currentItem|||return|items|||||data|on|||css|typeof|owlControls|0px|maximumItem|itemsAmount|browser|owlItems|class|addClass|positionsInArray|owlWrapper|div|itemWidth|length|autoPlay|transform|off|apply|userItems|left|next|px|undefined|stop|newRelativeX|removeClass||newPosX|scrollPerPage|prevItem|null|isTouch|ev_types|find|clearInterval|play|transition|disabled|setTimeout|target|loaded|width|goTo|itemsCustom|translate3d|page|paginationWrapper|preventDefault|slideSpeed|prev|append|wrapper|buttonNext|css2slide|itemsDesktop|swapSpeed|buttonPrev|pagination|paginationSpeed|support3d|dragDirection|ms|for|autoHeight|autoPlayInterval|visibleItems|isTransition|Math|webkit|wrapperOuter|hasClass|src|item|transition3d|baseClass|init|itemsDesktopSmall|origin|itemsTabletSmall|itemsMobile|eq|isCss3Finish|touchDrag|unWrap|moz|checkVisible|beforeMove|lazyLoad||mousedown|itemsTablet|setVars|roundPages|children|prevArr|mouseDrag|mouseup|isCssFinish|navigation|touches|pageX|active|rewindNav|each|jumpTo|position|theme|sliding|rewind|eachMoveUpdate|is|touchend|transitionStyle|stopOnHover|100|afterGo|ease|orignalItems|opacity|rewindSpeed|style|attr|html|addCssSpeed|userOptions|owlCarousel|all|push|startDragging|addClassActive|height|beforeInit|newPosY|end|move|targetElement|200|touchmove|jsonPath|offsetY|completeImg|offsetX|relativePos|afterLazyLoad|navigationText|updateItems|calculateAll|touchstart|string|responsive|updateControls|clearTransStyle|hoverStatus|jsonSuccess|moveDirection|checkPagination|endCurrent|fn|in|paginationNumbers|click|grabbing|Object|resizer|checkNavigation|dragBeforeAnimFinish|event|originalEvent|right|checkAp|remove|get|endPrev|visible|watchVisibility|Number|create|unwrap|afterInit|logIn|playDirection|max|afterAction|updateVars|afterMove|maximumPixels|apStatus|beforeUpdate|dragging|afterUpdate|pagesInArray|reload|clearEvents|removeTransition|doTranslate|show|hide|css2move|complete|span|cssText|updatePagination|gestures|disabledEvents|buildButtons|buildPagination|mousemove|touchcancel|start|disableTextSelect|min|loops|calculateWidth|pageY|appendWrapperSizes|appendItemsSizes|resize|responsiveRefreshRate|itemsScaleUp|responsiveBaseWidth|singleItem|outer|wrap|animate|srcElement|setInterval|drag|updatePosition|onVisibleItems|block|display|getNewPosition|disable|singleItemTransition|closestItem|transitionTypes|owlStatus|inArray|moveEvents|response|continue|buildControls|loading|lazyFollow|lazyPreload|lazyEffect|fade|onStartup|customEvents|wrapItems|eventTypes|naturalWidth|checkBrowser|originalClasses|outClass|inClass|originalStyles|abs|perspective|loadContent|extend|_data|round|msMaxTouchPoints|5e3|text|stopImmediatePropagation|stopPropagation|buttons|events|pop|splice|baseElWidth|minSwipe|maxSwipe|dargging|clientX|clientY|duration|destroyControls|createElement|mouseover|mouseout|numbers|which|lazyOwl|appendTo|clearTimeout|checked|shift|sort|removeAttr|match|fadeIn|400|clickable|toggleClass|wrapAll|top|prop|tagName|DIV|background|image|url|wrapperWidth|img|500|dragstart|ontouchstart|controls|out|input|relative|textarea|select|webkitAnimationEnd|oAnimationEnd|MSAnimationEnd|animationend|getJSON|returnValue|hasOwnProperty|option|onstartup|baseElement|navigator|new|prototype|destroy|removeData|reinit|addItem|after|before|removeItem|1199|979|768|479|800|1e3|carousel|jQuery|window|document'.split('|'),0,{})) \ No newline at end of file diff --git a/public/js/respond.min.js b/public/js/respond.min.js new file mode 100644 index 0000000..e8d6207 --- /dev/null +++ b/public/js/respond.min.js @@ -0,0 +1,6 @@ +/*! Respond.js v1.4.2: min/max-width media query polyfill + * Copyright 2014 Scott Jehl + * Licensed under MIT + * http://j.mp/respondjs */ + +!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b + + + +内核mooc + + +内核mooc内容网页,自己开发,可找模板 + + + + + \ No newline at end of file diff --git a/public/page/1/index.html b/public/page/1/index.html new file mode 100644 index 0000000..4c0c01e --- /dev/null +++ b/public/page/1/index.html @@ -0,0 +1 @@ +https://example.org/ \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..d41f696 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,47 @@ + + + + + https://example.org/blog/ + 2020-04-10T00:00:00+00:00 + + + + https://example.org/categories/ + 2020-04-10T00:00:00+00:00 + + + + https://example.org/ + 2020-04-10T00:00:00+00:00 + + + + https://example.org/categories/linux%E5%86%85%E6%A0%B8%E8%AF%95%E9%AA%8C/ + 2020-04-10T00:00:00+00:00 + + + + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%B8%80-proc%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/ + 2020-04-10T00:00:00+00:00 + + + + https://example.org/blog/2020/04/10/tcp%E4%B8%A2%E5%8C%85%E5%88%86%E6%9E%90%E5%AE%9E%E9%AA%8C%E8%A7%A3%E6%9E%90%E4%BA%8C-kprobe%E5%92%8Ctracepoint/ + 2020-04-10T00:00:00+00:00 + + + + https://example.org/faq/ + + + + https://example.org/tags/ + + + + https://example.org/contact/ + + + \ No newline at end of file diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..2f4e12f --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,396 @@ + + + + + + + + + + Tags + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + +
    +
    +
    +
    +

    Tags

    +
    +
    +
    +
    + + +
    +
    +
    + + +
    + + + + + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + +
    + +
    + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..4b228a8 --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,14 @@ + + + + Tags on Linux内核之旅 + https://example.org/tags/ + Recent content in Tags on Linux内核之旅 + Hugo -- gohugo.io + en-us + + + + + + \ No newline at end of file diff --git a/public/tags/page/1/index.html b/public/tags/page/1/index.html new file mode 100644 index 0000000..aaab7ef --- /dev/null +++ b/public/tags/page/1/index.html @@ -0,0 +1 @@ +https://example.org/tags/ \ No newline at end of file diff --git "a/static/img/Linux\345\206\205\346\240\270\344\271\213\346\227\205-logo.png" "b/static/img/Linux\345\206\205\346\240\270\344\271\213\346\227\205-logo.png" new file mode 100644 index 0000000..413055c Binary files /dev/null and "b/static/img/Linux\345\206\205\346\240\270\344\271\213\346\227\205-logo.png" differ diff --git a/static/img/banners/banner-1.jpg b/static/img/banners/banner-1.jpg new file mode 100644 index 0000000..7f9a017 Binary files /dev/null and b/static/img/banners/banner-1.jpg differ diff --git a/static/img/banners/banner-2.jpg b/static/img/banners/banner-2.jpg new file mode 100644 index 0000000..2dbc994 Binary files /dev/null and b/static/img/banners/banner-2.jpg differ diff --git a/static/img/banners/banner-3.jpg b/static/img/banners/banner-3.jpg new file mode 100644 index 0000000..147fc43 Binary files /dev/null and b/static/img/banners/banner-3.jpg differ diff --git a/static/img/banners/banner-4.jpg b/static/img/banners/banner-4.jpg new file mode 100644 index 0000000..54677b5 Binary files /dev/null and b/static/img/banners/banner-4.jpg differ diff --git a/static/img/banners/banner-5.jpg b/static/img/banners/banner-5.jpg new file mode 100644 index 0000000..03ebd86 Binary files /dev/null and b/static/img/banners/banner-5.jpg differ diff --git "a/static/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200).png" "b/static/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200).png" new file mode 100644 index 0000000..9953f52 Binary files /dev/null and "b/static/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\270\200).png" differ diff --git "a/static/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214).png" "b/static/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214).png" new file mode 100644 index 0000000..811963f Binary files /dev/null and "b/static/img/banners/\342\200\234tcp\344\270\242\345\214\205\345\210\206\346\236\220\342\200\235\345\256\236\351\252\214\350\247\243\346\236\220(\344\272\214).png" differ diff --git a/static/img/carousel/2.png b/static/img/carousel/2.png new file mode 100644 index 0000000..811963f Binary files /dev/null and b/static/img/carousel/2.png differ diff --git a/static/img/carousel/3.png b/static/img/carousel/3.png new file mode 100644 index 0000000..9953f52 Binary files /dev/null and b/static/img/carousel/3.png differ diff --git a/static/img/carousel/4.png b/static/img/carousel/4.png new file mode 100644 index 0000000..8575f1f Binary files /dev/null and b/static/img/carousel/4.png differ diff --git a/static/img/carousel/template-easy-code.png b/static/img/carousel/template-easy-code.png new file mode 100644 index 0000000..a9b573a Binary files /dev/null and b/static/img/carousel/template-easy-code.png differ diff --git a/static/img/carousel/template-easy-customize-less.png b/static/img/carousel/template-easy-customize-less.png new file mode 100644 index 0000000..c600c36 Binary files /dev/null and b/static/img/carousel/template-easy-customize-less.png differ diff --git a/static/img/carousel/template-easy-customize.png b/static/img/carousel/template-easy-customize.png new file mode 100644 index 0000000..6080be0 Binary files /dev/null and b/static/img/carousel/template-easy-customize.png differ diff --git a/static/img/carousel/template-homepage.png b/static/img/carousel/template-homepage.png new file mode 100644 index 0000000..6541b60 Binary files /dev/null and b/static/img/carousel/template-homepage.png differ diff --git a/static/img/carousel/template-mac.png b/static/img/carousel/template-mac.png new file mode 100644 index 0000000..17887c4 Binary files /dev/null and b/static/img/carousel/template-mac.png differ diff --git a/static/img/carousel/template-tablets-2.png b/static/img/carousel/template-tablets-2.png new file mode 100644 index 0000000..9aac3c6 Binary files /dev/null and b/static/img/carousel/template-tablets-2.png differ diff --git a/static/img/carousel/template-tablets.png b/static/img/carousel/template-tablets.png new file mode 100644 index 0000000..c9b8fba Binary files /dev/null and b/static/img/carousel/template-tablets.png differ diff --git "a/static/img/carousel/\345\255\246\345\240\202\345\234\250\347\272\277.png" "b/static/img/carousel/\345\255\246\345\240\202\345\234\250\347\272\277.png" new file mode 100644 index 0000000..9c4b503 Binary files /dev/null and "b/static/img/carousel/\345\255\246\345\240\202\345\234\250\347\272\277.png" differ diff --git "a/static/img/carousel/\347\240\224\347\251\266\347\224\237\345\233\242\351\230\237.png" "b/static/img/carousel/\347\240\224\347\251\266\347\224\237\345\233\242\351\230\237.png" new file mode 100644 index 0000000..8d39fc5 Binary files /dev/null and "b/static/img/carousel/\347\240\224\347\251\266\347\224\237\345\233\242\351\230\237.png" differ diff --git "a/static/img/carousel/\350\275\257\344\273\266\350\207\252\347\224\261\346\227\245.png" "b/static/img/carousel/\350\275\257\344\273\266\350\207\252\347\224\261\346\227\245.png" new file mode 100644 index 0000000..373bb56 Binary files /dev/null and "b/static/img/carousel/\350\275\257\344\273\266\350\207\252\347\224\261\346\227\245.png" differ diff --git a/static/img/clients/customer-1.png b/static/img/clients/customer-1.png new file mode 100644 index 0000000..131bef2 Binary files /dev/null and b/static/img/clients/customer-1.png differ diff --git a/static/img/clients/customer-2.png b/static/img/clients/customer-2.png new file mode 100644 index 0000000..aefb5b0 Binary files /dev/null and b/static/img/clients/customer-2.png differ diff --git a/static/img/clients/customer-3.png b/static/img/clients/customer-3.png new file mode 100644 index 0000000..69cd03e Binary files /dev/null and b/static/img/clients/customer-3.png differ diff --git a/static/img/clients/customer-4.png b/static/img/clients/customer-4.png new file mode 100644 index 0000000..c906944 Binary files /dev/null and b/static/img/clients/customer-4.png differ diff --git a/static/img/clients/customer-5.png b/static/img/clients/customer-5.png new file mode 100644 index 0000000..bdd6625 Binary files /dev/null and b/static/img/clients/customer-5.png differ diff --git a/static/img/clients/customer-6.png b/static/img/clients/customer-6.png new file mode 100644 index 0000000..b9b6797 Binary files /dev/null and b/static/img/clients/customer-6.png differ diff --git a/static/img/logo-small.png b/static/img/logo-small.png new file mode 100644 index 0000000..2c4ed72 Binary files /dev/null and b/static/img/logo-small.png differ diff --git a/static/img/logo.png b/static/img/logo.png new file mode 100644 index 0000000..6f820d2 Binary files /dev/null and b/static/img/logo.png differ diff --git a/static/img/sharing-default.png b/static/img/sharing-default.png new file mode 100644 index 0000000..5180bbb Binary files /dev/null and b/static/img/sharing-default.png differ diff --git a/static/img/testimonials/person-1.jpg b/static/img/testimonials/person-1.jpg new file mode 100644 index 0000000..11c4cb3 Binary files /dev/null and b/static/img/testimonials/person-1.jpg differ diff --git a/static/img/testimonials/person-2.jpg b/static/img/testimonials/person-2.jpg new file mode 100644 index 0000000..1abb3e9 Binary files /dev/null and b/static/img/testimonials/person-2.jpg differ diff --git a/static/img/testimonials/person-3.png b/static/img/testimonials/person-3.png new file mode 100644 index 0000000..cfa6fbd Binary files /dev/null and b/static/img/testimonials/person-3.png differ diff --git a/static/img/testimonials/person-4.jpg b/static/img/testimonials/person-4.jpg new file mode 100644 index 0000000..d08cf7e Binary files /dev/null and b/static/img/testimonials/person-4.jpg differ diff --git "a/static/img/testimonials/\346\242\201\351\207\221\350\215\243.png" "b/static/img/testimonials/\346\242\201\351\207\221\350\215\243.png" new file mode 100644 index 0000000..9aba92e Binary files /dev/null and "b/static/img/testimonials/\346\242\201\351\207\221\350\215\243.png" differ diff --git "a/static/img/testimonials/\347\231\275\345\230\211\345\272\206.png" "b/static/img/testimonials/\347\231\275\345\230\211\345\272\206.png" new file mode 100644 index 0000000..aefbc64 Binary files /dev/null and "b/static/img/testimonials/\347\231\275\345\230\211\345\272\206.png" differ diff --git "a/static/img/testimonials/\350\256\270\346\214\257\346\226\207.png" "b/static/img/testimonials/\350\256\270\346\214\257\346\226\207.png" new file mode 100644 index 0000000..bbabbc4 Binary files /dev/null and "b/static/img/testimonials/\350\256\270\346\214\257\346\226\207.png" differ diff --git "a/static/img/testimonials/\350\265\265\346\231\250\351\233\250.png" "b/static/img/testimonials/\350\265\265\346\231\250\351\233\250.png" new file mode 100644 index 0000000..650c587 Binary files /dev/null and "b/static/img/testimonials/\350\265\265\346\231\250\351\233\250.png" differ diff --git "a/static/img/testimonials/\351\231\210\350\216\211\345\220\233.png" "b/static/img/testimonials/\351\231\210\350\216\211\345\220\233.png" new file mode 100644 index 0000000..2ab50a4 Binary files /dev/null and "b/static/img/testimonials/\351\231\210\350\216\211\345\220\233.png" differ