149 Commits
Author SHA1 Message Date
pi-ux-ce 5fa8ad286f application not renamed
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-12 08:29:30 +01:00
pierre geeraert d3061eddaf work on databse model
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-11 22:12:00 +01:00
pierre geeraert 883e028cae refactoring
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
2026-06-11 20:18:59 +01:00
pierre geeraert 2f4b93d11c removing print function 2026-06-11 20:17:51 +01:00
pierre geeraert 57d7e8feee removing print function
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-11 20:16:07 +01:00
pierre geeraert dd3b0b7731 removing cloudmanager_old
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-11 19:52:20 +01:00
pierre geeraert c86301c9b2 refactoring
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-11 19:51:19 +01:00
pierre geeraert 3079df9072 refactoring
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-11 19:19:15 +01:00
pi-ux-ce 1c04605dc7 prototype fo namespace import
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-06-11 11:51:12 +01:00
pierre geeraert 2b8a4ed46f try again something new
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-09 22:55:46 +01:00
pierre geeraert 622f2c8758 try again something new
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-09 22:52:24 +01:00
pierre geeraert 4e6637aba9 Revert "try new method"
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
This reverts commit c6784759cd.
2026-06-09 22:47:54 +01:00
pierre geeraert c6784759cd try new method
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-09 22:45:07 +01:00
pierre geeraert 55f27433f9 try new method
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
2026-06-09 22:41:51 +01:00
pierre geeraert 2dd02f0632 try new method
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
2026-06-09 22:40:03 +01:00
pierre geeraert 5d4bc9e93b try new method
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-09 22:37:54 +01:00
pierre geeraert ccb69a43d2 try new method
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
2026-06-09 22:36:20 +01:00
pierre geeraert 36755ccfb0 add the missing return
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s
2026-06-09 21:46:58 +01:00
pierre geeraert 27dff192f2 now the template adapt depending of the data and tries ajax button without success
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-31 00:25:56 +01:00
pierre geeraert e9dad6bfe5 adding alot of template files
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-03-30 23:40:49 +01:00
pierre geeraert 69d161c19b finding how to target the good one
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-27 00:18:58 +00:00
pierre geeraert 103dcc919e fix scale down and add the down query
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-27 00:08:49 +00:00
pierre geeraert 3eea2ea4a2 need to add the request
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-27 00:05:43 +00:00
pierre geeraert d0a948e93f I was meant to fix it from the start
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-03-27 00:02:02 +00:00
pierre geeraert 2a3c71f939 adding weekday input
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-03-26 23:58:29 +00:00
pierre geeraert 8caa778ee0 add servers down as well
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-26 23:56:39 +00:00
pierre geeraert 5521b70e46 adding custom DB name for the terraform secret that point to the django db not the cmm one
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-26 23:44:59 +00:00
pierre geeraert c8d784ae2b using env variable for DB creds
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-03-26 23:21:52 +00:00
pierre geeraert 910170b594 found the bit of code that deals with days
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-25 23:14:20 +00:00
pierre geeraert 4dee3442b0 actually easy fix
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-25 22:54:55 +00:00
pierre geeraert b38f2a8b2f adding all the files , still work in progress but getting there , needs to move scale_up function to somrthing not managed by REQUEST 2026-03-25 22:53:36 +00:00
pierre geeraert 1e8afcbc44 adding the sql code for the template
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-03-25 22:00:44 +00:00
pierre geeraert 9e2b51de60 adding some mysql function to convert to postgresal
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-03-17 23:26:08 +00:00
pierre geeraert eb0f467aad Merge branch 'testing' of https://gitea.tryton.geeraert.eu/pi-ux-ce/Django_kube into testing 2026-03-17 22:57:20 +00:00
pi-ux-ce da4b86f4d3 no need this anymore
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6s
2026-03-17 10:31:21 +00:00
pi-ux-ce b5ef38bc0d try gemini ai idea
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m48s
2026-03-17 10:26:34 +00:00
pi-ux-ce c5b7e9dcde moving the env variables
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5m55s
2026-03-17 10:13:24 +00:00
pi-ux-ce b611d41e8a moving the env variables
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 3m41s
2026-03-17 09:51:14 +00:00
pi-ux-ce c3ba43b0fa moving the env variables 2026-03-17 09:47:51 +00:00
pierre geeraert dc0e006e0f change link
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m32s
2026-03-16 23:26:42 +00:00
pierre geeraert 0b66858969 also try for the icon url
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m44s
2026-03-16 23:11:48 +00:00
pierre geeraert 16c8fba623 trying to variablise the title of the blank page
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-03-16 23:08:44 +00:00
pierre geeraert 852fccd95c remove extra slash
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m36s
2026-03-16 23:04:11 +00:00
pierre geeraert 316d07db61 default page is set and button to got to favorite ones
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m52s
2026-03-16 22:55:19 +00:00
pierre geeraert bf99f618f6 fetch only latest commit from main branch
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m43s
2026-03-16 22:09:19 +00:00
pierre geeraert 534f0cb7cb move the vars
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6m37s
2026-03-16 21:59:35 +00:00
pierre geeraert 974f6820d4 move the vars 2026-03-16 21:53:47 +00:00
pierre geeraert 6ccf910e29 add env variable
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 3m5s
2026-03-16 21:47:03 +00:00
pierre geeraert aaf1ced21c emulate some variables 2026-03-16 21:45:47 +00:00
pi-ux-ce d05a3e2dc6 Merge pull request 'testing' (#8) from testing into main
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 4m7s
Reviewed-on: #8
2026-03-16 21:06:42 +00:00
pierre geeraert 8be8b44584 also variablize DEBUG
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 21:03:28 +00:00
pierre geeraert 4a028c04c9 fix the extra s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 20:59:41 +00:00
pierre geeraert 1f1d7ab75d convert it to list
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 20:59:11 +00:00
pierre geeraert e0e5d9e290 trying to variablise allowed_hosts
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 20:33:46 +00:00
pierre geeraert 181eb67501 remove useless imports
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 20:21:28 +00:00
pierre geeraert 8af976c528 change path as well
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 20:16:01 +00:00
pierre geeraert beba1f16b4 changing path
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
2026-03-16 20:14:47 +00:00
pierre geeraert 76d0cbdb8d default url
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 20:03:53 +00:00
pierre geeraert 6ff0bb31d3 fix name of the module
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 20:03:20 +00:00
pierre geeraert e78825b99f importnt first argument
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 19:57:06 +00:00
pi-ux-ce 33a9d6fec7 d
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s
2026-03-16 18:36:55 +00:00
pi-ux-ce b01145e6bd adding nano
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6m40s
2026-03-16 18:33:22 +00:00
pi-ux-ce 06024c82c1 trying like that
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 18:30:37 +00:00
pi-ux-ce ce4a4838f1 adding required value
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
2026-03-16 18:26:03 +00:00
pi-ux-ce f80cfbeba7 adding required value
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 18:24:15 +00:00
pi-ux-ce 61e5966083 missed requirements
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-03-16 18:18:46 +00:00
pi-ux-ce f49a606693 trying this url conf
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 18:13:52 +00:00
pi-ux-ce 2b866b32bb enable redirect..tryton.geeraert.eu
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
2026-03-16 17:50:55 +00:00
pi-ux-ce 97896b5170 changing the authorised URL
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-03-16 14:50:49 +00:00
pi-ux-ce 3647ff15e1 trying to trigger a new image
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6s
2026-03-16 14:42:55 +00:00
pi-ux-ce 267f753452 using the testing branch
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-03-16 14:36:44 +00:00
pi-ux-ce c33e463e09 addign a restart after restarT
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-03-16 14:32:41 +00:00
pi-ux-ce 40cfc3c9f5 prevent main runner to run if there was a testing change 2026-03-16 14:21:39 +00:00
pi-ux-ce 632ba5257e fixing image name
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m39s
2026-03-16 10:42:57 +00:00
pi-ux-ce 7127effdaf trying to setup the django testing image 2026-03-16 10:39:26 +00:00
pi-ux-ce ca3f7e964e change title page
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4m2s
2026-03-03 23:12:26 +00:00
pi-ux-ce 904e779b59 changing the extra >
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5m23s
2026-03-03 22:55:55 +00:00
pi-ux-ce 63054b4a3a adding some print
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m56s
2026-02-05 20:11:01 +00:00
pi-ux-ce 871f3c5ba8 put lower var
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 7m54s
2026-02-03 14:51:21 +00:00
pi-ux-ce 9c706bb9b1 Update .gitea/workflows/dockerfile_runner.yaml
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m14s
2026-01-20 00:02:19 +00:00
pi-ux-ce 06c57ca837 try v6
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 2s
2026-01-19 23:55:53 +00:00
pi-ux-ce 39a3ec055b try again
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-01-19 23:54:36 +00:00
pi-ux-ce 401cf8e1a7 Update .gitea/workflows/dockerfile_runner.yaml
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 10s
2026-01-19 23:46:19 +00:00
pi-ux-ce f50d624d22 set git location
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 10s
2026-01-19 23:45:27 +00:00
pi-ux-ce 4aeee1acb5 manually git pull
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 7s
2026-01-19 23:43:31 +00:00
pi-ux-ce b6a9cfed19 do not clean before checkout
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-01-19 23:36:15 +00:00
pi-ux-ce a67dcf763b trigger new build
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-01-19 23:31:52 +00:00
pi-ux-ce 0f58c2dcae only if present
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4m12s
2026-01-19 20:53:13 +00:00
pi-ux-ce 9cb1418b0d avoid crashing if no source file
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 10s
2026-01-19 20:48:49 +00:00
pi-ux-ce f62e6ca651 trying to cache git folder
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 8s
2026-01-19 20:47:06 +00:00
pi-ux-ce 0c6ddd4904 trying host_runner
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4m38s
2026-01-19 19:46:48 +00:00
Pierre Geeraert 14d4dbfe97 update runner to add curl
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-01-19 17:53:28 +00:00
Pierre Geeraert 50d0c2cd4d debug
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 5m57s
2026-01-19 17:43:25 +00:00
Pierre Geeraert 4fe45169c3 try with the exact version of the runner
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1m36s
2026-01-19 17:40:43 +00:00
Pierre Geeraert 78d93a16eb remove kubeconfig
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 23s
2026-01-19 17:25:50 +00:00
Pierre Geeraert b94bf528be display kubeconfig
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-01-19 17:23:49 +00:00
Pierre Geeraert 11ad57bce4 no need to download docker.io as the base image is doing it now 2026-01-19 17:16:07 +00:00
Pierre Geeraert 495a55f8c1 try to install docker
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 7m17s
2026-01-19 16:54:55 +00:00
Pierre Geeraert c611360c04 try debug
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 29s
2026-01-19 16:52:17 +00:00
Pierre Geeraert ada418374b trying gitea.tryton.geeraert.eu/pi-ux-ce/custom-runner-debian-slim:latest
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 35s
2026-01-19 15:57:09 +00:00
Pierre Geeraert 3bf7f2a195 trying to use debian
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 5m41s
2026-01-19 13:46:25 +00:00
pi-ux-ce 2d22cab6e7 changing to debian image
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-01-19 11:54:38 +00:00
pi-ux-ce 96dcbe1798 Update django_code/django_code/urls.py
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m14s
2026-01-08 23:58:04 +00:00
pi-ux-ce ac6dc5b426 revert e2d3868a9e
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1m58s
revert add prowlarr script in tash until I create a prowlarr project with celery
2026-01-08 23:53:12 +00:00
pi-ux-ce b4f22ffeea update due to some errors
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 2m14s
2026-01-08 23:42:30 +00:00
pi-ux-ce ca3ed630ed adding the URL
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m42s
2026-01-08 23:34:27 +00:00
pi-ux-ce e2d3868a9e add prowlarr script in tash until I create a prowlarr project with celery
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-01-08 23:31:22 +00:00
Pierre Geeraert 47314620be can only concatenate str (not bytes) to str
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m35s
2026-01-07 17:57:22 +00:00
Pierre Geeraert f26f3f2665 try a new function with clearing the key
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m45s
2026-01-07 13:42:47 +00:00
Pierre Geeraert 938b37e920 add some comments
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m52s
2026-01-07 13:31:57 +00:00
Pierre Geeraert 2c5a989306 fix syntax error
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m1s
2026-01-07 13:19:24 +00:00
Pierre Geeraert 88a6dd9316 adding the default page in case there is no redis entry
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 2m12s
2026-01-07 12:08:03 +00:00
Pierre Geeraert 77742c1d6f ubuntu-slim wasn't working
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m33s
2025-12-09 10:20:21 +00:00
Pierre Geeraert ba16c6475a Merge branch 'main' of https://gitea.tryton.geeraert.eu/pi-ux-ce/Django_kube
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
2025-12-09 09:50:42 +00:00
Pierre Geeraert 1735098b3a trying ubuntu-slim 2025-12-09 09:49:49 +00:00
pierre geeraert 2fdaaa47ab f you are just trying to redirect to an absolute URL stored in Redis, your code should work provided the string is clean.
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m58s
A robust way to ensure it's treated as a simple URL might involve using Django's HttpResponseRedirect directly instead of the redirect shortcut:
2025-12-08 23:44:06 +00:00
pierre geeraert bd4e4aed27 try to debug it
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m1s
2025-12-08 23:34:41 +00:00
pierre geeraert 94a8240ad4 In Django, the <str:key> part of your URL pattern is designed to capture a value from the URL (e.g., if someone visits /redirect/go/xyz123) and pass it to the view function as a keyword argument named key.
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m51s
2025-12-08 23:22:27 +00:00
pierre geeraert be03af61ea prepare new function
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m44s
2025-12-08 23:14:34 +00:00
pierre geeraert 4da34c98f3 forgot dependencies
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m15s
2025-12-08 23:05:49 +00:00
pierre geeraert 12253f0621 try to work on the redirection
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m8s
2025-12-08 23:00:46 +00:00
Pierre Geeraert 369954f5d2 changing form submit path
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3m3s
2025-12-08 09:16:20 +00:00
pierre geeraert 4eee702dce add the comment for later review
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5m0s
2025-12-07 23:46:59 +00:00
pierre geeraert e90daa2e61 forgot the url
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5m19s
2025-12-07 23:39:45 +00:00
pierre geeraert cc8570d02f adding reddit downloader
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5m48s
2025-12-07 23:22:46 +00:00
Pierre Geeraert 98e5ea965c forgot one variable
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m59s
2025-12-05 11:16:44 +00:00
Pierre Geeraert 7a98ab1c6d cache seems good , doing a test
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 2m49s
2025-12-05 11:12:30 +00:00
Pierre Geeraert 70973a63fb frogot the step to move the cache
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m36s
2025-12-05 10:30:33 +00:00
Pierre Geeraert ad82f73c1d promising solution using volume mount
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-05 10:24:44 +00:00
Pierre Geeraert e08016c103 promising solution using volume mount
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-05 10:08:57 +00:00
Pierre Geeraert a65e99b199 another test
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-05 10:04:07 +00:00
Pierre Geeraert 4853150f07 another test
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
2025-12-05 10:02:22 +00:00
Pierre Geeraert a341e66c13 another test
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-05 09:53:55 +00:00
pierre geeraert 874779d230 now reverting
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6m15s
2025-12-04 23:52:19 +00:00
pierre geeraert 779e8a8b0f to revert, just a try
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-04 23:46:47 +00:00
pierre geeraert 8f35e88ce4 to revert, just a try
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-04 23:42:58 +00:00
pierre geeraert 71e874cfb4 to revert, just a try
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-04 23:40:27 +00:00
pierre geeraert 622b8942b5 to revert, just a try
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-04 23:40:16 +00:00
pierre geeraert 7aeb7d094c to revert, just a try
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 27s
2025-12-04 23:39:10 +00:00
pierre geeraert 4ee80f8b7e to revert, just a try
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-04 23:37:57 +00:00
pierre geeraert 4859fa6877 No matching distribution found for json
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6m2s
2025-12-04 23:17:56 +00:00
pierre geeraert a1d831cdf2 another cache try
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-04 23:17:08 +00:00
pierre geeraert a3ee639d77 put the steps for a reddit downloader
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 5m1s
2025-12-04 22:59:15 +00:00
pierre geeraert cd274aea81 change path
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5m49s
2025-12-04 19:59:53 +00:00
Pierre Geeraert aaa548eb21 1.651 IndentationError: unindent does not match any outer indentation level
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6m22s
2025-12-04 18:08:51 +00:00
Pierre Geeraert 99f05a055d add the retry function
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 5m46s
2025-12-04 17:00:48 +00:00
Pierre Geeraert e614d50f9c also clean .gitea/python_build
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6m55s
2025-12-04 16:54:01 +00:00
Pierre Geeraert 20526c829c revert everything
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-12-04 16:53:18 +00:00
pi-ux-ce c9ed33f108 Merge pull request 'addign this for the syntax but this solution is too slow' (#6) from revert-caching into main
Gitea Actions Demo / changes (push) Successful in 24s
Gitea Actions Demo / Build-dockerfile (push) Has been cancelled
Gitea Actions Demo / Explore-Gitea-Actions (push) Has started running
Reviewed-on: #6
2025-12-04 16:50:07 +00:00
203 changed files with 41043 additions and 311 deletions
-16
View File
@@ -1,16 +0,0 @@
FROM gitea.tryton.geeraert.eu/pi-ux-ce/python:3
ENV PYTHONUNBUFFERED 1
WORKDIR /code/
# Copy only the requirements file first (Changes infrequently)
COPY requirements.txt ./
RUN --mount=type=cache,target=/root/.cache/pip pip install --upgrade pip
RUN --mount=type=cache,target=/root/.cache/pip pip list --outdated
RUN --mount=type=cache,target=/root/.cache/pip pip install --upgrade wheel
RUN --mount=type=cache,target=/root/.cache/pip pip install --upgrade setuptools
RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt
-15
View File
@@ -1,15 +0,0 @@
django
psycopg2
requests
proxmoxer
docker
kubernetes
ruamel.yaml
pyyaml
django-bootstrap-v5
jinja2
watchdog
celery
redis
lxml
requests
+48 -87
View File
@@ -2,96 +2,45 @@ name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
push:
#paths-ignore:
# - 'requirements.txt'
branches:
- main
paths-ignore:
- 'django_testing/dockerfile'
issue_comment:
types: [created]
jobs:
# Job to check for file changes and set an output
changes:
runs-on: ubuntu-latest
outputs:
requirements_changed: ${{ steps.filter.outputs.requirements }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
requirements:
- 'requirements.txt'
Build-dockerfile:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.requirements_changed == 'true' }}
steps:
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- name: Compute next version
id: versioning
run: |
latest="${{ vars.PYTHON_VERSION }}"
next_version=$(echo "$latest" | awk -F. -v OFS=. '{$NF += 1 ; print}')
echo "next_version=$next_version" >> $GITHUB_ENV
echo "Variables used :"
echo "------------------------------------------------"
echo "Next version: $next_version"
- uses: actions/cache@v3
with:
path: /root/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: inject cache into docker
uses: reproducible-containers/buildkit-cache-dance@v3.1.0
with:
cache-source: /root/.cache/pip
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to gitea
uses: docker/login-action@v3
with:
registry: gitea.tryton.geeraert.eu
username: ${{ secrets.USERNAME_GITEA }}
password: ${{ secrets.PASSWORD_GITEA }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: "{{defaultContext}}:.gitea/python_build"
push: true
tags: |
gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:latest
gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:${{ env.next_version }}
cache-from: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:buildcache
cache-to: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/modified-python:buildcache,mode=max
- name: update version in the variable
run: |
curl -X PUT -H "Content-Type: application/json" \
--user ${{ secrets.USERNAME_GITEA }}:${{ secrets.PASSWORD_GITEA }} \
https://gitea.tryton.geeraert.eu/api/v1/repos/pi-ux-ce/${{ github.event.repository.name }}/actions/variables/PYTHON_VERSION \
-d "{\"Value\":\"$next_version\"}"
Explore-Gitea-Actions:
runs-on: ubuntu-latest
env:
RUNNER_TOOL_CACHE: /toolcache
DEBUG: True
ALLOWED_HOSTS: "django.tryton.geeraert.eu"
container:
image: gitea.tryton.geeraert.eu/pi-ux-ce/custom-runner-debian-slim:1.0.6
volumes:
- act-toolcache:/opt/hostedtoolcache # this is where Runner store their cache default
runs-on: host-runner
steps:
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: restore git folder if exist
run: if [ -d "/opt/hostedtoolcache/${{ github.event.repository.name }}/" ]; then cp -r /opt/hostedtoolcache/${{ github.event.repository.name }}/ ${{ gitea.workspace }}; fi
- name: Check Docker Version
run: whereis docker
- name: Check out repository code
uses: actions/checkout@v4
clean: false
fetch-depth: 1
ref: 'main'
# - name: Manually check out repository code
# run: cd ${{ gitea.workspace }} ; git pull origin main
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
@@ -106,18 +55,19 @@ jobs:
echo "------------------------------------------------"
echo "Next version: $next_version"
- uses: actions/cache@v3
- name: Cache Docker layers
uses: actions/cache@v4
with:
path: /root/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
path: /opt/hostedtoolcache/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-buildx-
- name: inject cache into docker
uses: reproducible-containers/buildkit-cache-dance@v3.1.0
with:
cache-source: /root/.cache/pip
cache-source: /opt/hostedtoolcache/pip
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -133,11 +83,19 @@ jobs:
uses: docker/build-push-action@v6
with:
push: true
build-args: |
ALLOWED_HOSTS='django.tryton.geeraert.eu'
DEBUG='True'
tags: |
gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest
gitea.tryton.geeraert.eu/pi-ux-ce/django-python:${{ env.next_version }}
cache-from: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/django-python:buildcache
cache-to: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/django-python:buildcache,mode=max
cache-from: type=local,src=/opt/hostedtoolcache/.buildx-cache
cache-to: type=local,dest=/opt/hostedtoolcache/.buildx-cache-new,mode=max
- name: Move cache
run: |
rm -rf /opt/hostedtoolcache/.buildx-cache
mv /opt/hostedtoolcache/.buildx-cache-new /opt/hostedtoolcache/.buildx-cache
- name: Rollout Django to force pulling the new image
uses: actions-hub/kubectl@master
@@ -160,3 +118,6 @@ jobs:
--user ${{ secrets.USERNAME_GITEA }}:${{ secrets.PASSWORD_GITEA }} \
https://gitea.tryton.geeraert.eu/api/v1/repos/pi-ux-ce/${{ github.event.repository.name }}/actions/variables/VERSION \
-d "{\"Value\":\"$next_version\"}"
- name: backup git for future use
run: cp -r ${{ gitea.workspace }} /opt/hostedtoolcache/${{ github.event.repository.name }}/
@@ -0,0 +1,69 @@
name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
push:
branches:
- "testing"
paths:
- 'django_testing/dockerfile'
tags-ignore:
- '*'
jobs:
Explore-Gitea-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Compute next version
id: versioning
run: |
latest="${{ vars.VERSION_TESTING }}"
next_version=$(echo "$latest" | awk -F. -v OFS=. '{$NF += 1 ; print}')
echo "next_version=$next_version" >> $GITHUB_ENV
echo "Variables used :"
echo "------------------------------------------------"
echo "Next version: $next_version"
- name: Login to gitea
uses: docker/login-action@v3
with:
registry: gitea.tryton.geeraert.eu
username: ${{ secrets.USERNAME_GITEA }}
password: ${{ secrets.PASSWORD_GITEA }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: django_testing/
push: true
tags: |
gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:latest
gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:${{ env.next_version }}
cache-from: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/geoip2-nginx:buildcache
cache-to: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/geoip2-nginx:buildcache,mode=max
- name: update version in the variable
run: |
curl -X PUT -H "Content-Type: application/json" \
--user ${{ secrets.USERNAME_GITEA }}:${{ secrets.PASSWORD_GITEA }} \
https://gitea.tryton.geeraert.eu/api/v1/repos/pi-ux-ce/${{ github.event.repository.name }}/actions/variables/VERSION_TESTING \
-d "{\"Value\":\"$next_version\"}"
- name: Rollout Django to force pulling the new image
uses: actions-hub/kubectl@master
env:
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
with:
args: rollout restart deployment django-testing -n django-testing
- run: echo "🍏 This job's status is ${{ job.status }}."
@@ -0,0 +1,23 @@
name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
push:
branches:
- "testing"
tags-ignore:
- '*'
jobs:
Explore-Gitea-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Rollout Django to force pulling the new image
uses: actions-hub/kubectl@master
env:
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
with:
args: rollout restart deployment django-testing -n django-testing
- run: echo "🍏 This job's status is ${{ job.status }}."
+1
View File
@@ -1,6 +1,7 @@
*/__pycache__/*
*/.idea
venv/*
.env/*
*__pycache__*
Webcal-python/*
.idea/*
-67
View File
@@ -1,67 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: django-python
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: django-webserver
namespace: django-python
spec:
replicas: 1
selector:
matchLabels:
app: django-python
template:
metadata:
labels:
app: django-python
spec:
containers:
- name: django-python
image: gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest
imagePullPolicy: Always
ports:
- containerPort: 8000
name: webserver-port
volumeMounts:
## - name: django-python-code
# mountPath: /code
- name: servarr-data
mountPath: /data
readOnly: true
- name: secret-kubeconfig
mountPath: /kubeconfig
resources:
limits:
cpu: 100m
memory: 200Mi
volumes:
- name: django-python-code
persistentVolumeClaim:
claimName: django-python-code
- name: servarr-data
hostPath:
path: /data
- name: secret-kubeconfig
secret:
defaultMode: 420
secretName: kubeconfig
---
apiVersion: v1
kind: Service
metadata:
name: webserver
namespace: django-python
spec:
ports:
- name: http
port: 8000
protocol: TCP
selector:
app: django-python
+37
View File
@@ -0,0 +1,37 @@
from django.apps import AppConfig
from django.http import HttpResponse
from django.http import HttpResponseRedirect
from django.shortcuts import render
import os
import psycopg2
from apps.cloudmanager.db_interaction import DB_generation,Check_server_supposed_XXX,Give_current_weekday,Give_current_hour
class CloudmanagerConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.cloudmanager'
label = 'cloudmanager'
def coucou(request):
return HttpResponse('<h1>Hello cmm!</h1>')
def hello(request):
list_schedule = ['schedule1','schedule2']
list_servers_up = [['wiki', 'wikijs', 2], ['book', 'bookstack-db', 1]]
return render(request, 'cloudmanager/index.html', {'list_schedule':list_schedule,'list_servers_up':list_servers_up})
def redirect(request):
db_host = os.environ.get('DB_HOST')
db_port = os.environ.get('DB_PORT')
db_user = os.environ.get('DB_USERNAME')
db_password = os.environ.get('DB_PASSWORD')
db_name = os.environ.get('CUSTOM_DB_DATABASE',os.environ.get('DB_DATABASE'))
generated_db = DB_generation(db_host, db_port, db_user, db_password,db_name)
##operation:
## Server(s) supposed to be UP
list_servers_up = Check_server_supposed_XXX(generated_db, "up", Give_current_hour(),Give_current_weekday())
print(list_servers_up)
return render(request, 'cloudmanager/cmm_blank_page.html', {'list_servers_up':list_servers_up})
@@ -0,0 +1,7 @@
class sql:
url = 'localhost'
port = 5432
user = 'postgres'
password = 'example'
database = 'cloudmanager'
@@ -0,0 +1,167 @@
import psycopg2
from django.http import HttpResponse
from django.views.decorators.http import require_POST
from apps.kubernetes_connection import apps as kubernetes_connection
import datetime
from apps.cloudmanager import credentials
import os
def hello(request):
kubernetes_connection.echoHello();
return HttpResponse('<h1>Hello cmm !</h1>')
def DB_generation(host_in,port_in,user_in,password_in,db_in):
db = psycopg2.connect(host=host_in, port=port_in, user=user_in, password=password_in,database=db_in)
return db
@require_POST
def change_schedule(request):
# HTMX sends these via standard POST data
schedule_id = request.POST.get('schedule_id')
server_name = request.POST.get('server_name')
if not schedule_id or not server_name:
return HttpResponse("<span style='color: red;'>Missing parameters.</span>", status=400)
try:
# --- Your Core Logic Here ---
# e.g., Server.objects.filter(name=server_name).update(schedule_id=schedule_id)
print(f"Updating {server_name} to schedule profile {schedule_id}")
# Return a success message that will instantly inject into the server's status div
return HttpResponse("<span style='color: green;'>✓ Updated successfully!</span>")
except Exception as e:
return HttpResponse(f"<span style='color: red;'>Error: {str(e)}</span>", status=500)
def Launch_sql_query(sql,db):
# prepare a cursor object using cursor() method
cursor = db.cursor()
try:
# Execute the SQL command
cursor.execute(sql)
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
result_machine = []
#result_machine_type = []
for row in results:
result_machine_type = []
namespace = row[0]
name = row[1]
replicas = row[2]
result_machine_type.append(namespace)
result_machine_type.append(name)
result_machine_type.append(replicas)
result_machine.append(result_machine_type)
return result_machine
except:
print ("Error: unable to fetch data")
#Return the day of the week as an integer, where Monday is 0 and Sunday is 6.
def Give_current_weekday():
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday','Saturday', 'Sunday']
weekday = days[datetime.datetime.today().weekday()]
return weekday
def Give_current_hour():
now = datetime.datetime.now()
return now.hour
def Check_server_supposed_XXX(generated_db_in,wanted_status,Wanted_hour,Wanted_day):
sql_in=""
if wanted_status == "up":
sql_in = "select machine.namespace, machine.name, machine.replicas from scenario_hour,machine ,scenario_day_of_week where state_at_" + str(Wanted_hour) + "='1' and state_" + str(Wanted_day) + "='1' and machine.hour_behaviour_id=scenario_hour.id_scenario and machine.day_behaviour_id=scenario_day_of_week.id_scenario;"
elif wanted_status == "down":
sql_in = "select machine.namespace, machine.name, machine.replicas from scenario_hour,machine ,scenario_day_of_week where not(state_at_" + str(Wanted_hour) + "='1' and state_" + str(Wanted_day) + "='1') and machine.hour_behaviour_id=scenario_hour.id_scenario and machine.day_behaviour_id=scenario_day_of_week.id_scenario;"
else:
print("error value")
print(sql_in)
return_value = Launch_sql_query(sql_in, generated_db_in)
return return_value
def Is_the_server_already_wanted_state(id_machine, wanted_state,instance_type):
#stopped/running
bool_result = ""
proxmox = function.proxmox_connection(credentials.proxmox.zeus.url_proxmox,credentials.proxmox.zeus.user,credentials.proxmox.zeus.password)
if str(function.check_state_mix(id_machine,wanted_state,proxmox,instance_type)) == str(wanted_state):
bool_result = True
else:
bool_result = False
return bool_result
def all_operations(request,wanted_state,list_machine):
for machine_target in list_machine:
print(machine_target[1])
info_to_display = ""
if wanted_state == "up":
kubernetes_connection.scale_up(request,namespace_name=machine_target[0],deploy_name=machine_target[1],replicas=machine_target[2]);
elif wanted_state == "down":
kubernetes_connection.scale_down(request,namespace_name=machine_target[0],deploy_name=machine_target[1]);
else:
print("Incorrect wanted state")
# if not(Is_the_server_already_wanted_state(machine_target[0], wanted_state,machine_target[1])):
# function.action(False,machine_target[0],operation_to_perform,machine_target[1])
# print(str(machine_target[0])+" is now "+str(wanted_state))
# elif Is_the_server_already_wanted_state(machine_target[0], wanted_state,machine_target[1]):
# info_to_display = "operation already performed for "+machine_target[2]
# print(info_to_display)
#return info_to_display
return ""
def main(request):
#get credentials from the env
db_host = os.environ.get('DB_HOST')
db_port = os.environ.get('DB_PORT')
db_user = os.environ.get('DB_USERNAME')
db_password = os.environ.get('DB_PASSWORD')
db_name = os.environ.get('CUSTOM_DB_DATABASE',os.environ.get('DB_DATABASE'))
generated_db = DB_generation(db_host, db_port, db_user, db_password,db_name)
##operation:
## Server(s) supposed to be UP
list_servers_up = Check_server_supposed_XXX(generated_db, "up", Give_current_hour(),Give_current_weekday())
print("------------------------------------------")
print("-----------------UP-----------------------")
print("------------------------------------------")
print(list_servers_up)
print(all_operations(request,"up", list_servers_up))
## Server(s) supposed to be DOWN
list_servers_down = Check_server_supposed_XXX(generated_db, "down", Give_current_hour(),Give_current_weekday())
print("------------------------------------------")
print("----------------DOWN----------------------")
print("------------------------------------------")
print(list_servers_down)
print(all_operations(request,"down",list_servers_down))
# disconnect from server
generated_db.close()
#print(Is_the_server_already_wanted_state(112, "stopped"))
return HttpResponse('<h1>CMM executed!</h1>')
if __name__ == "__main__":
main()
"""
TO DO:
EXTRACT TYPE OF MACHINE
CREATE FUNCTION TO CHECK IF A MACHINE IS ALREADY DOWN OR NOT
ADD FIELD IN SQL WITH PROJECT AND PUT DESCRIPTION -> ATTACH MACHINE TO PROJECT
"""
@@ -0,0 +1,28 @@
# Generated by Django 4.2.29 on 2026-06-11 19:35
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='CmmData',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100)),
('namespace', models.CharField(max_length=100)),
('schedule_day', models.CharField(max_length=100)),
('schedule_hour', models.CharField(max_length=100)),
('replicas', models.IntegerField()),
],
options={
'db_table': 'cloudmanager',
},
),
]
+12
View File
@@ -0,0 +1,12 @@
from django.db import models
class CmmData(models.Model):
name = models.CharField(max_length=100)
namespace = models.CharField(max_length=100)
schedule_day = models.CharField(max_length=100)
schedule_hour = models.CharField(max_length=100)
replicas = models.IntegerField()
class Meta:
db_table = 'cloudmanager'
+24
View File
@@ -0,0 +1,24 @@
from django.http import HttpResponse
# IMPORT AT THE TOP HERE: This is completely safe!
from apps.cloudmanager.models import CmmData
def coucou(request):
# 1. Prepare the data inside the function
data = CmmData(
name="test",
namespace="testspace",
schedule_hour="1",
schedule_day="deux",
replicas=3
)
# 2. This line actually pushes the data into your cloudmanager_db!
data.save()
return HttpResponse('<h1>Hello cmm! Data saved successfully!</h1>')
def display(request):
data = CmmData.objects.all()
print(data[0].namespace)
return HttpResponse(data)
+28
View File
@@ -0,0 +1,28 @@
from django.http import HttpResponse
from django.http import HttpResponseRedirect
from django.shortcuts import render
import os
import psycopg2
from apps.cloudmanager.db_interaction import DB_generation,Check_server_supposed_XXX,Give_current_weekday,Give_current_hour
def hello(request):
list_schedule = ['schedule1','schedule2']
list_servers_up = [['wiki', 'wikijs', 2], ['book', 'bookstack-db', 1]]
return render(request, 'cloudmanager/index.html', {'list_schedule':list_schedule,'list_servers_up':list_servers_up})
def redirect(request):
db_host = os.environ.get('DB_HOST')
db_port = os.environ.get('DB_PORT')
db_user = os.environ.get('DB_USERNAME')
db_password = os.environ.get('DB_PASSWORD')
db_name = os.environ.get('CUSTOM_DB_DATABASE',os.environ.get('DB_DATABASE'))
generated_db = DB_generation(db_host, db_port, db_user, db_password,db_name)
##operation:
## Server(s) supposed to be UP
list_servers_up = Check_server_supposed_XXX(generated_db, "up", Give_current_hour(),Give_current_weekday())
print(list_servers_up)
return render(request, 'cloudmanager/cmm_blank_page.html', {'list_servers_up':list_servers_up})
@@ -0,0 +1,13 @@
drop table IF EXISTS machine;
CREATE TABLE IF NOT EXISTS machine (
id integer NOT NULL PRIMARY KEY,
namespace varchar(100) NOT null,
name varchar(100) NOT null,
hour_behaviour_id integer NOT null,
day_behaviour_id integer NOT null,
replicas integer NOT null
);
INSERT into machine (id, namespace, name, hour_behaviour_id, day_behaviour_id,replicas) VALUES (1, 'echo', 'echo-server', 0, 1,1);
INSERT into machine (id, namespace, name, hour_behaviour_id, day_behaviour_id,replicas) VALUES (2, 'wiki', 'wikijs', 1, 1,2);
INSERT into machine (id, namespace, name, hour_behaviour_id, day_behaviour_id,replicas) VALUES (3, 'book', 'bookstack-db', 2, 1,1);
@@ -0,0 +1,16 @@
create table scenario_day_of_week
(
id_scenario integer NOT NULL PRIMARY KEY,
name_scenario varchar(255) null,
state_Monday BOOLEAN null,
state_Tuesday BOOLEAN null,
state_Wednesday BOOLEAN null,
state_Thursday BOOLEAN null,
state_Friday BOOLEAN null,
state_Saturday BOOLEAN null,
state_Sunday BOOLEAN null
);
INSERT INTO scenario_day_of_week (id_scenario, name_scenario, state_Monday, state_Tuesday, state_Wednesday, state_Thursday, state_Friday, state_Saturday, state_Sunday) VALUES (0, 'always off', FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
INSERT INTO scenario_day_of_week (id_scenario, name_scenario, state_Monday, state_Tuesday, state_Wednesday, state_Thursday, state_Friday, state_Saturday, state_Sunday) VALUES (1, 'always on', TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
@@ -0,0 +1,33 @@
create table scenario_hour
(
id_scenario integer NOT NULL PRIMARY KEY,
name_scenario varchar(255) null,
state_at_0 BOOLEAN null,
state_at_1 BOOLEAN null,
state_at_2 BOOLEAN null,
state_at_3 BOOLEAN null,
state_at_4 BOOLEAN null,
state_at_5 BOOLEAN null,
state_at_6 BOOLEAN null,
state_at_7 BOOLEAN null,
state_at_8 BOOLEAN null,
state_at_9 BOOLEAN null,
state_at_10 BOOLEAN null,
state_at_11 BOOLEAN null,
state_at_12 BOOLEAN null,
state_at_13 BOOLEAN null,
state_at_14 BOOLEAN null,
state_at_15 BOOLEAN null,
state_at_16 BOOLEAN null,
state_at_17 BOOLEAN null,
state_at_18 BOOLEAN null,
state_at_19 BOOLEAN null,
state_at_20 BOOLEAN null,
state_at_21 BOOLEAN null,
state_at_22 BOOLEAN null,
state_at_23 BOOLEAN null
);
INSERT INTO scenario_hour (id_scenario, name_scenario, state_at_0, state_at_1, state_at_2, state_at_3, state_at_4, state_at_5, state_at_6, state_at_7, state_at_8, state_at_9, state_at_10, state_at_11, state_at_12, state_at_13, state_at_14, state_at_15, state_at_16, state_at_17, state_at_18, state_at_19, state_at_20, state_at_21, state_at_22, state_at_23) VALUES (0, 'always off uk', FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
INSERT INTO scenario_hour (id_scenario, name_scenario, state_at_0, state_at_1, state_at_2, state_at_3, state_at_4, state_at_5, state_at_6, state_at_7, state_at_8, state_at_9, state_at_10, state_at_11, state_at_12, state_at_13, state_at_14, state_at_15, state_at_16, state_at_17, state_at_18, state_at_19, state_at_20, state_at_21, state_at_22, state_at_23) VALUES (1, 'always on uk', TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
INSERT INTO scenario_hour (id_scenario, name_scenario, state_at_0, state_at_1, state_at_2, state_at_3, state_at_4, state_at_5, state_at_6, state_at_7, state_at_8, state_at_9, state_at_10, state_at_11, state_at_12, state_at_13, state_at_14, state_at_15, state_at_16, state_at_17, state_at_18, state_at_19, state_at_20, state_at_21, state_at_22, state_at_23) VALUES (2, 'awake hours uk', FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
@@ -0,0 +1,33 @@
from django.http import HttpResponse
from django.views.decorators.http import require_POST
#from django.contrib.auth.decorators import login_required # optional but recommended
def trigger_my_action(request):
# 1. Run your Django module/function
result = "1"
print('here')
# 2. Return ONLY the HTML fragment you want to show on the page
# This will replace the content inside the "hx-target" div
return HttpResponse("Done!")
#@login_required
@require_POST
def change_schedule(request):
# HTMX sends these via standard POST data
schedule_id = request.POST.get('schedule_id')
server_name = request.POST.get('server_name')
if not schedule_id or not server_name:
return HttpResponse("<span style='color: red;'>Missing parameters.</span>", status=400)
try:
# --- Your Core Logic Here ---
# e.g., Server.objects.filter(name=server_name).update(schedule_id=schedule_id)
print(f"Updating {server_name} to schedule profile {schedule_id}")
# Return a success message that will instantly inject into the server's status div
return HttpResponse("<span style='color: green;'>✓ Updated successfully!</span>")
except Exception as e:
return HttpResponse(f"<span style='color: red;'>Error: {str(e)}</span>", status=500)
+21
View File
@@ -0,0 +1,21 @@
from django.shortcuts import render
def home(request):
thislist = ["apple", "banana", "cherry"]
return render(request, 'dashboard/home.html',{'thislist': thislist})
def about(request):
thislist = ["apple", "banana", "cherry"]
return render(request, 'dashboard/about.html',{'thislist': thislist})
def success(request):
return render(request, 'dashboard/start.html',{'deployment': 'django','url':'https://google.com'})
def scale_up(request,namespace_name,deploy_name):
baseurl = "{0}://{1}{2}".format(request.scheme, request.get_host(), request.path)
return render(request, 'dashboard/start.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com','baseurl': baseurl})
def scale_down(request,namespace_name,deploy_name):
baseurl = "{0}://{1}{2}".format(request.scheme, request.get_host(), request.path)
return render(request, 'dashboard/shutdown.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com','baseurl': baseurl})
@@ -17,15 +17,19 @@ import urllib.request
def hello(request):
return HttpResponse('<h1>Hello k8s!</h1>')
def scale_up(request,namespace_name,deploy_name):
def echoHello():
print("hello from k8s")
return "returned from k8s"
def scale_up(request,namespace_name,deploy_name,replicas=1):
config.load_kube_config(config_file='/kubeconfig/config')
api = client.AppsV1Api()
deployment = api.read_namespaced_deployment(name=deploy_name, namespace=namespace_name)
deployment.spec.replicas = 1
deployment.spec.replicas = replicas
resp = api.patch_namespaced_deployment(
name=deploy_name, namespace=namespace_name, body=deployment);
#return HttpResponse('<h1>Scaled up !</h1>')
return render(request, 'start.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com'})
return render(request, 'dashboard/start.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com'})
def scale_down(request,namespace_name,deploy_name):
@@ -36,9 +40,18 @@ def scale_down(request,namespace_name,deploy_name):
resp = api.patch_namespaced_deployment(
name=deploy_name, namespace=namespace_name, body=deployment);
#return HttpResponse('<h1>Scaled down !</h1>')
return render(request, 'shutdown.html',
return render(request, 'dashboard/shutdown.html',
{'namespace': namespace_name, 'deployment': deploy_name, 'url': 'https://namespace.com'})
def Import_Deployments():
config.load_kube_config(config_file='/kubeconfig/config')
deployment = api.list_namespaced_deployment('servarr')
len(deployment.items) #list all deployment inside the namespace
test.items[0].spec.template.spec.containers[0].name # name the first deploy within the namespace
test.items[2].spec.template.spec.containers[0].name # name the third deploy within the namespace
return 0
def nodes(request):
config.load_kube_config(config_file='/code/kubeconfig')
v1 = client.CoreV1Api()
@@ -11,6 +11,11 @@ import psycopg2
import random
import mimetypes
class RandomSimpsonsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.random_simpsons'
label = 'simpsons'
def DB_generation(host_in,port_in,user_in,password_in,db_in):
#db = pymysql.connect(host=host_in, port=port_in, user=user_in, passwd=password_in,db=db_in)
db = psycopg2.connect(host=host_in, port=port_in, user=user_in, password=password_in,database=db_in)
@@ -63,7 +68,7 @@ def download_mo(request,file):
return response
#def template(request):
# rendered = render_to_string("my_template.html", {"foo": "bar"})
# rendered = render_to_string("random_simpsons/my_template.html", {"foo": "bar"})
#return HttpResponse('<h1>Hello !</h1>')
def simpsons(request):
@@ -0,0 +1,27 @@
# Generated by Django 4.2.29 on 2026-06-11 19:50
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='SimpsonsData',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('season', models.IntegerField()),
('episode', models.IntegerField()),
('url', models.CharField(max_length=100)),
('seen', models.CharField(max_length=100)),
],
options={
'db_table': 'simpsons',
},
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.2.29 on 2026-06-11 20:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('simpsons', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='simpsonsdata',
name='seen',
field=models.BooleanField(),
),
]
@@ -0,0 +1,10 @@
from django.db import models
class SimpsonsData(models.Model):
season = models.IntegerField()
episode = models.IntegerField()
url = models.CharField(max_length=100)
seen = models.BooleanField()
class Meta:
db_table = 'simpsons'
@@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.
@@ -2,7 +2,6 @@ from django.apps import AppConfig
from django.http import HttpResponse
from django.shortcuts import render
from django.shortcuts import redirect
#from jinja2 import Environment, FileSystemLoader
from django.core.files import File
from kubernetes import client, config
from celery import shared_task
@@ -10,6 +9,7 @@ from celery import shared_task
from lxml import html
import requests
import os
import json
import time
import random
import mimetypes
@@ -33,15 +33,16 @@ proxies = {
"https" : proxy_url
}
destination_folder = "/tmp/stash/"
destination_folder = "/stash/"
def hello(request):
return HttpResponse('<h1>Hello stash!</h1>')
def form(request):
return render(request, 'stash_form.html',{})
return render(request, 'stash/stash_form.html',{})
def album(request):
return render(request, 'album_form.html',{})
return render(request, 'stash/album_form.html',{})
def simple(request):
return render(request, 'stash/simple_form.html',{})
def check_and_create_destination_folder(name):
#check if the output directory exist and create if not
if not os.path.isdir(destination_folder):
@@ -116,12 +117,69 @@ def images_downloader(name,images_url_list,destination_named_folder):
opener = urlrequest.build_opener(proxy)
urlrequest.install_opener(opener)
try:
urlrequest.urlretrieve(image_url, filename )
except:
print("Can't download "+filename+" -- "+image_url)
individual_image_downloader.delay(image_url=image_url, filename=filename)
return 0
@shared_task()
def individual_image_downloader(image_url, filename ):
print("Downloading again: "+filename+" -- "+image_url)
opener = urlrequest.build_opener(proxy)
urlrequest.install_opener(opener)
try:
urlrequest.urlretrieve(image_url, filename )
except:
print("Still Can't download "+filename+" -- "+image_url+" == Cancelling")
return 0
def simple_form(request):
name = request.GET.get('name')
reddit_downloader(username=name)
text_generated = "successfully sent to the reddit downloader"
return HttpResponse(text_generated, content_type="text/plain")
def reddit_downloader(username):
#create the prerequisites folder
destination_named_folder = check_and_create_destination_folder(name=username)
url = "https://www.reddit.com/user/"+username+"/submitted/.json?limit=1000"
opener = urlrequest.build_opener(proxy)
urlrequest.install_opener(opener)
req = urlrequest.Request(url)
urlcurl = urlrequest.urlopen(req).read()
data = json.loads(urlcurl)
picture_list=[]
for children in data['data']['children']:
print("adding to the list : "+children['data']['url'])
picture_list.append(children['data']['url'])
images_downloader.delay(name=username,images_url_list=picture_list,destination_named_folder=destination_named_folder)
return 0
def redgif_donloader(username):
#on te front page of the user , https://www.redgifs.com/users/princesspizookie
# F12 and search network , find something that start as api.redgifs.com
# and the file is search?order=new&count=40&type=g
# copy as curl and you got the bearer
#curl curl 'https://api.redgifs.com/v2/users/princesspizookie/search?order=new&count=40&type=g'
#and you get the URLS , needs to be parsedw
return 0
def incremental(request):
return render(request, 'incremental_form.html',{})
return render(request, 'stash/incremental_form.html',{})
def incremental_form(request):
name = request.GET.get('name')
@@ -165,9 +223,10 @@ def increment_and_download(minimum_increment,maximum_increment,url,url_suffix,na
increment_generated ='000' + str(increment)
url_generated = url+increment_generated+url_suffix
print(url_generated)
destination_filename = increment_generated+url_suffix
destination_file = os.path.join(destination_named_folder,destination_filename)
print(destination_file)
opener = urlrequest.build_opener(proxy)
urlrequest.install_opener(opener)
urlrequest.urlretrieve(url_generated, destination_file )
@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.
@@ -9,4 +9,4 @@ def hello(request):
def home(request):
return render(request, 'listing.html')
return render(request, 'stash/listing.html')
@@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.
@@ -0,0 +1,53 @@
import redis
from django.http import HttpResponse
from django.http import HttpResponseRedirect
from django.shortcuts import render
r = redis.Redis(
host='django-redis-svc',
port=6379,
db=0 # The default Redis database index
)
def hello(request):
return HttpResponse('<h1>Hello redirect!</h1>')
def redirect(request):
return render(request, 'website_redirection/redirect_form.html',{})
def clearkey_process(request):
key = request.GET.get('key')
r.delete(key)
return 0
def redirect_process(request):
key = request.GET.get('key')
value = request.GET.get('value')
key = key.lower()
r.set(key, value)
text_generated = "successfully set "+value+" to "+key
return HttpResponse(text_generated, content_type="text/plain")
def display_key(request,key):
value = r.get(key)
value_extracted = str(value.decode())
text_generated = key+" is set to "+value_extracted
return HttpResponse(text_generated, content_type="text/plain")
def redirect_to_key(request,key):
value = r.get(key)
if value == None:
icon_url = r.get('icon')
if icon_url == None:
icon_url = "https://cdn-icons-png.flaticon.com/512/6402/6402576.png"
print(key+" is not setup, displaying default page")
return render(request, 'website_redirection/blank_page.html', {'title': key,'icon_url':icon_url})
else:
value_extracted = str(value.decode('utf-8'))
print(key+" is setup to : "+value_extracted)
print(value_extracted)
return HttpResponseRedirect(value_extracted)
@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.
@@ -0,0 +1,35 @@
"""
URL configuration for django_code project.
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from website_redirection import apps as website_redirectionapp
urlpatterns = [
# path('admin/', admin.site.urls),
################### Redirect ###################
path('', website_redirectionapp.redirect),
path('hello/', website_redirectionapp.hello),
path('set/', website_redirectionapp.redirect),
path('get/<str:key>', website_redirectionapp.display_key),
path('go/<str:key>', website_redirectionapp.redirect_to_key),
path('redirect-form/', website_redirectionapp.redirect_process, name='submit_form'),
path('clearkey/', website_redirectionapp.clearkey_process, name='submit_form'),
]
@@ -0,0 +1,8 @@
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
from django.shortcuts import render
def hello(request):
return HttpResponse('<h1>Hello Django!</h1>')
-21
View File
@@ -1,21 +0,0 @@
from django.shortcuts import render
def home(request):
thislist = ["apple", "banana", "cherry"]
return render(request, 'home.html',{'thislist': thislist})
def about(request):
thislist = ["apple", "banana", "cherry"]
return render(request, 'about.html',{'thislist': thislist})
def success(request):
return render(request, 'start.html',{'deployment': 'django','url':'https://google.com'})
def scale_up(request,namespace_name,deploy_name):
baseurl = "{0}://{1}{2}".format(request.scheme, request.get_host(), request.path)
return render(request, 'start.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com','baseurl': baseurl})
def scale_down(request,namespace_name,deploy_name):
baseurl = "{0}://{1}{2}".format(request.scheme, request.get_host(), request.path)
return render(request, 'shutdown.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com','baseurl': baseurl})
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
from django.conf import settings
from django_hosts import patterns, host
host_patterns = patterns('',
host(r"django-testing", settings.ROOT_URLCONF, name="django-testing"),
host(r"redirect", 'apps.website_redirection.urls', name="redirect"),
)
+46
View File
@@ -0,0 +1,46 @@
# routers.py
class ProjectDatabaseRouter:
"""
A router to control all database operations on models in the
simpsons and cloudmanager applications.
"""
def db_for_read(self, model, **hints):
"""Attempts to read simpsons and cloudmanager models go to their specific dbs."""
if model._meta.app_label == 'simpsons':
return 'simpsons_db'
if model._meta.app_label == 'cloudmanager':
return 'cloudmanager_db'
return 'default'
def db_for_write(self, model, **hints):
"""Attempts to write simpsons and cloudmanager models go to their specific dbs."""
if model._meta.app_label == 'simpsons':
return 'simpsons_db'
if model._meta.app_label == 'cloudmanager':
return 'cloudmanager_db'
return 'default'
def allow_relation(self, obj1, obj2, **hints):
"""Allow relations if both models are in the same database."""
# Prevents accidental foreign key relationships across different physical DBs
if (
obj1._meta.app_label in ['simpsons', 'cloudmanager'] or
obj2._meta.app_label in ['simpsons', 'cloudmanager']
):
return obj1._meta.app_label == obj2._meta.app_label
return None
def allow_migrate(self, db, app_label, model_name=None, **hints):
"""Ensure the app's models only show up in the designated database."""
if app_label == 'simpsons':
return db == 'simpsons_db'
if app_label == 'cloudmanager':
return db == 'cloudmanager_db'
# Ensure default Django apps (auth, sessions, etc.) don't migrate into simpsons/cloudmanager
if db in ['simpsons_db', 'cloudmanager_db']:
return False
return None
+48 -10
View File
@@ -9,7 +9,7 @@ https://docs.djangoproject.com/en/4.2/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/4.2/ref/settings/
"""
import os
from pathlib import Path
# Build paths inside the project like this: BASE_DIR / 'subdir'.
@@ -23,10 +23,11 @@ BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = 'django-insecure-71%)_#e#o9-dl2o^6mfud-*rw+4+8vy-nd*bzeier&(34ap-p9'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
#DEBUG = os.getenv("DEBUG")
DEBUG = os.getenv("DEBUG", "False").lower() in ("true", "1", "t")
ALLOWED_HOSTS = ['reverse.tryton.geeraert.eu','192.168.4.100','django.tryton.geeraert.eu','localhost']
ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS").split(",")
# Application definition
@@ -38,9 +39,13 @@ INSTALLED_APPS = [
'django.contrib.messages',
'django.contrib.staticfiles',
'bootstrap5',
'django_hosts',
'apps.cloudmanager.apps.CloudmanagerConfig',
'apps.random_simpsons.apps.RandomSimpsonsConfig',
]
MIDDLEWARE = [
'django_hosts.middleware.HostsRequestMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
@@ -48,15 +53,21 @@ MIDDLEWARE = [
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django_hosts.middleware.HostsResponseMiddleware',
]
ROOT_URLCONF = 'django_code.urls'
ROOT_HOSTCONF = 'django_code.hosts'
DEFAULT_HOST = 'django-testing'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
#'DIRS': ["/code/django_code/templates","/code/django_code/dashboard/templates/"],
'DIRS': [BASE_DIR / "templates","django_code/dashboard/templates/","django_code/stash_management/templates"],
'DIRS': [
BASE_DIR / "templates"
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
@@ -77,11 +88,31 @@ WSGI_APPLICATION = 'django_code.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'django',
'USER': os.environ.get('DB_USERNAME'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': os.environ.get('DB_HOST'),
'PORT': os.environ.get('DB_PORT'),
},
'cloudmanager_db': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'cloudmanager',
'USER': os.environ.get('DB_USERNAME'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': os.environ.get('DB_HOST'),
'PORT': os.environ.get('DB_PORT'),
},
'simpsons_db': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'simpsons',
'USER': os.environ.get('DB_USERNAME'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': os.environ.get('DB_HOST'),
'PORT': os.environ.get('DB_PORT'),
},
}
DATABASE_ROUTERS = ['django_code.routers.ProjectDatabaseRouter']
# Password validation
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
@@ -117,7 +148,14 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.2/howto/static-files/
STATIC_URL = 'static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "templates/cloudmanager/css",
BASE_DIR / "templates/cloudmanager/fonts",
BASE_DIR / "templates/cloudmanager/images",
BASE_DIR / "templates/cloudmanager/js"
]
# Default primary key field type
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
@@ -129,6 +167,6 @@ CELERY_BROKER_URL = "redis://django-redis-svc:6379"
CELERY_RESULT_BACKEND = "redis://django-redis-svc:6379"
CELERY_IMPORTS = [
'stash_management.apps', # This line imports the tasks.py file
'apps.stash_management.apps', # This line imports the tasks.py file
# Add other app tasks here if needed
]
+29 -17
View File
@@ -16,15 +16,17 @@ Including another URLconf
"""
from django.contrib import admin
from django.urls import path
#from docker_connection import views, apps
from random_simpsons import apps as random_simpsons
from paperless_django import apps as paperless_django
from onenote import apps as onenote
from dashboard import apps as dashboardapp
from dashboard import views as dashboardview
from kubernetes_connection import apps as kubernetes_connection
from stash_management import apps as stashapp
from stash_management import views as stashview
#from apps.cloudmanager import (credentials,db_interaction)
from apps.cloudmanager import apps as cloudmanager_apps
from apps.cloudmanager import views as cloudmanager_views
from apps.random_simpsons import apps as random_simpsons
from apps.dashboard import apps as dashboardapp
from apps.dashboard import views as dashboardview
from apps.kubernetes_connection import apps as kubernetes_connection
from apps.stash_management import apps as stashapp
from apps.stash_management import views as stashview
from apps.website_redirection import apps as website_redirectionapp
urlpatterns = [
# path('admin/', admin.site.urls),
@@ -34,12 +36,13 @@ urlpatterns = [
path('simpsons/', random_simpsons.simpsons),
path('download_file/', random_simpsons.download_file),
################### paperless ###################
path('paperless/hello/', paperless_django.hello),
# path('simpsons/', random_simpsons.simpsons),
################### onenote ###################
path('onenote/hello/', onenote.hello),
################### Redirect ###################
path('redirect/hello/', website_redirectionapp.hello),
path('redirect/set/', website_redirectionapp.redirect),
path('redirect/get/<str:key>', website_redirectionapp.display_key),
path('redirect/go/<str:key>', website_redirectionapp.redirect_to_key),
path('redirect/redirect-form/', website_redirectionapp.redirect_process, name='submit_form'),
path('redirect/clearkey/', website_redirectionapp.clearkey_process, name='submit_form'),
################### onenote ###################
path('dashboard/hello/', dashboardapp.hello),
@@ -59,22 +62,31 @@ urlpatterns = [
path('kubernetes_connection/scale_up/<str:namespace_name>/<str:deploy_name>', kubernetes_connection.scale_up),
path('kubernetes_connection/scale_down/<str:namespace_name>/<str:deploy_name>', kubernetes_connection.scale_down),
################## kubernetes_connection#####
################## stash#####
path('stash/', stashview.home),
path('stash/hello/', stashapp.hello),
path('stash/form/', stashapp.form),
path('stash/incremental/', stashapp.incremental),
path('stash/album/', stashapp.album),
path('stash/album-form/', stashapp.album_form, name='submit_form'),
path('stash/simple/', stashapp.simple),
path('stash/simple-form/', stashapp.simple_form, name='submit_form'),
path('stash/submit-form/', stashapp.handle_survey_form, name='submit_form'),
path('stash/incremental-form/', stashapp.incremental_form, name='submit_form'),
# path('bookstack/', docker_connection.apps.hello),
# path('test/', docker_connection.apps.http_call_test),
# path('proxmox/', docker_connection.apps.proxmox),
# path('simpsons/', random_simpsons.hello),
# path('docker/<str:action>/<str:id_docker>', docker_connection.apps.docker_call),
################### cloudmanager ###################
path('cmm/', cloudmanager_apps.redirect),
path('cmm/hello', cloudmanager_apps.hello, name='hello'),
path('cmm/coucou', cloudmanager_views.coucou, name='coucou'),
path('cmm/display', cloudmanager_views.display, name='display'),
#path('cmm/run-action/', cloudmanager_views.trigger_my_action, name='run_my_action_url'),
#path('change-schedule/', cloudmanager_views.change_schedule, name='change_schedule'),
#path('cmm/main/', db_interaction.main),
]
-27
View File
@@ -1,27 +0,0 @@
from django.apps import AppConfig
from django.http import HttpResponse
from django.shortcuts import render
from django.shortcuts import redirect
#from django.template.loader import render_to_string
from django.template import loader
#import time
#import random
def hello(request):
# htmlContent = '
#<!DOCTYPE html>
#<html lang="en">
#<body>
#<strong>Hello World from const</strong>
#</body>
#</html>
#'
# response = "coucou"
# context = {'response': HttpResponse(response)}
# return HttpResponse(htmlContent)
# return HttpResponse('<h1>Hello onenote! <h1>')
# return render(request, 'hello.html', context)
template = loader.get_template('onenote/hello.html')
# template = loader.get_template('onenote/Roser.mht')
return HttpResponse(template.render())
-6
View File
@@ -1,6 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<body>
<strong>Hello World</strong>
</body>
</html>
-16
View File
@@ -1,16 +0,0 @@
from django.apps import AppConfig
from django.http import HttpResponse
from django.shortcuts import render
from django.shortcuts import redirect
import time
import random
def hello(request):
return HttpResponse('<h1>Hello paperless! <h1>')
def redirect_authenticated(request):
final_url = "https://paperless.tryton.geeraert.eu/"
print(final_url)
return redirect(str(final_url))
@@ -1 +0,0 @@
<h1>Hello template!</h1>
@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="icon" type="image/x-icon" href="https://cdn-icons-png.flaticon.com/512/6402/6402576.png">
<title> title </title>
<table>
<tr>
<th>namespace</th>
<th>name</th>
<th>replicas</th>
</tr>
{% block content %}
{% for machine_target in list_servers_up %}
<tr>
<td>{{ machine_target.0 }}</td>
<td>{{ machine_target.1 }}</td>
<td>{{ machine_target.2 }}</td>
</tr>
{% endfor %}
{% endblock %}
</table>
</head>
</html>
@@ -0,0 +1,294 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Redirect form</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
@charset "UTF-8";
.m-b-xs {
margin-bottom: 2%;
}
.m-b-md {
margin-bottom: 10%;
}
.m-t-xs {
margin-top: 2%;
}
.m-t-sm {
margin-top: 5%;
}
* {
outline: 0 !important;
}
body {
padding: 2% 0;
background-color: #37404a;
}
h1 {
font-family: "Roboto", sans-serif;
font-size: 2.2em;
font-weight: 300;
color: #85ffc7;
text-transform: uppercase;
}
p {
font-family: "Roboto", sans-serif;
font-size: 1.1em;
font-weight: 300;
color: #fff;
}
a {
color: #fff;
}
a:hover {
text-decoration: none;
color: #fff;
}
#survey-form label,
#survey-form .labels {
display: block;
margin-bottom: 2%;
font-family: "Roboto", sans-serif;
font-size: 1.1em;
font-weight: 300;
color: #fff;
letter-spacing: 0.5px;
}
#survey-form input::-webkit-input-placeholder {
color: transparent !important;
}
#survey-form input::-moz-placeholder {
color: transparent !important;
}
#survey-form input:-ms-input-placeholder {
color: transparent !important;
}
#survey-form input:-moz-placeholder {
color: transparent !important;
}
#survey-form input,
#survey-form select {
display: block;
width: 100%;
overflow: hidden;
outline: none;
border: 2px solid #333;
}
#survey-form input {
margin-top: 1.5%;
padding: 0 0 5px 0;
background: transparent;
border: none;
outline: none;
border-bottom: 2px solid #fff;
font-size: 1.1em;
font-weight: 300;
color: #85ffc7;
}
#survey-form input:focus {
border-color: #85ffc7;
}
#survey-form [type=checkbox],
#survey-form [type=radio] {
display: inline-block;
width: auto;
margin: 0px 10px 0 0;
}
#survey-form [type=checkbox],
#survey-form [type=radio] {
display: inline-block;
margin: 0 10px 0 0 !important;
position: relative;
top: 5px;
right: 0;
bottom: 0;
left: 0;
-webkit-appearance: none;
-moz-appearance: none;
-o-appearance: none;
appearance: none;
height: 23px;
width: 23px;
transition: all 0.15s ease-out 0s;
background: #37404a;
color: #fff;
cursor: pointer;
outline: none;
z-index: 1000;
border: 1px solid #fff;
}
#survey-form [type=checkbox]:hover,
#survey-form [type=radio]:hover {
border-color: #85ffc7;
}
#survey-form [type=checkbox]:checked:before,
#survey-form [type=radio]:checked:before {
display: inline-block;
height: 21px;
width: 21px;
position: relative;
left: 0;
bottom: 0;
content: "";
text-align: center;
font-family: "Glyphicons Halflings";
line-height: 20px;
font-size: 15px;
color: #85ffc7;
}
#survey-form [type=checkbox]:focus,
#survey-form [type=radio]:focus {
outline: none;
border-color: #fff;
}
#survey-form [type=radio] {
border-radius: 50%;
}
#survey-form [type=radio]:after {
border-radius: 50%;
}
#survey-form [type=number] {
width: 45px;
}
#survey-form [type=number]::-webkit-inner-spin-button, #survey-form [type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
margin: 0;
}
#survey-form select {
height: 40px;
padding-left: 5px;
background-color: #37404a;
border: 2px solid #fff;
color: #85ffc7;
}
#survey-form select option {
padding: 5px 10px;
font-weight: 300;
cursor: pointer;
}
#survey-form select option:hover {
background-color: #85ffc7;
}
#survey-form textarea {
resize: none;
margin-top: 2%;
padding: 10px 10px 0px 20px;
width: 100%;
height: 90px;
color: #85ffc7;
background-color: #37404a;
border: 2px solid #fff;
}
#survey-form .btn {
display: inline-block;
position: relative;
width: 100%;
margin: 3% 0 0 0;
height: 45px;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
border: 3px solid #85ffc7;
border-radius: 0;
font-weight: 500;
font-size: 1.2em;
color: #85ffc7;
text-align: center;
background: none;
transition: color 0.25s ease;
}
#survey-form .btn:after {
position: absolute;
content: "";
top: 0;
left: 0;
width: 0;
height: 100%;
background-color: #85ffc7;
transform-origin: left;
transition: width 0.5s ease;
z-index: -1;
}
#survey-form .btn:hover {
color: #37404a;
}
#survey-form .btn:hover:after {
width: 100%;
}
#survey-form fieldset {
margin: 5% 0 0 0;
}
.copyright {
text-align: center;
font-size: 10px;
color: #fff;
}
.copyright i {
color: #ef5350;
}
@media only screen and (max-width: 600px) {
body {
padding: 8% 0;
}
}
</style>
</head>
<main id="main" class="container">
<div class="row">
<div class="col-xs-12 col-lg-offset-3 col-lg-6">
<div class="m-b-md text-center">
<h1 id="title">Redirect Form</h1>
<p id="description" class="description" class="text-center">Download form</p>
</div>
<form method="GET" action="/redirect-form/" id="survey-form" name="survey-form">
<fieldset>
<label for="key" id="key-label">
Key *
<input class="" type="text" id="key" name="key" placeholder="Enter your key (required)" required />
</label>
</fieldset>
<fieldset>
<label for="value" id="value-label">
Value *
<input class="" type="value" id="value" name="value" placeholder="Enter the value (required)" />
</label>
</fieldset>
<button id="submit" type="submit" class="btn">Submit the form</button>
<button id="clearkey" type="submit" formaction="/clearkey/" class="btn">Clear the key</button>
<div class="container">
<div class="row">
<div class="col">
<button type="button" onclick="location.href='/go/streaming'" class="btn">Streaming</button>
</div>
<div class="col">
<button type="button" onclick="location.href='/go/streaming-sam'" class="btn">Streaming Sam</button>
</div>
</div>
</div>
</form>
</div>
</div>
</main>
</html>
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,407 @@
/* Blue Version CSS */
a:link, a:visited, a:hover, a:focus{text-decoration: none; color: #00cfef;}
/* Home Slider */
#home-slider .caption h1 strong{
color:#00cfef;
}
.left-control:hover,
.right-control:hover {
background-color: #00cfef;
}
.learn-more {
border: 2px solid #00cfef;
}
.learn-more:hover {
background: #00cfef;
}
.left-control, .right-control {
border:1px solid #00cfef;
}
/* End Home Slider */
/* Navbar */
/* Link Color */
.navbar-inverse { border-color: #00cfef}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #00cfef}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus { color: #00cfef}
.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #00cfef}
.dropdown-menu>li>a { color: #00cfef}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #00cfef}
.navbar-toggle {
border: transparent;
background-color: #00cfef;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #00cfef;
}
/* End Navbar */
/* Loader */
.spinner > div
{
background: #00cfef;
}
/* End Loader*/
/* Titles & Color */
.section-title h1 span{
background-color: #00cfef;
}
.btn {
background-image: none;
background-color: #00cfef;
color: #fff;
}
a.btn {
color: #fff;
}
.btn a {
color: #fff;
}
.btn-inverse:hover{
color: #fff;
background-color: #00cfef;
}
.btn-inverse:hover a{
color: #fff;
}
a.btn-inverse:hover {
color: #fff;
}
.btn:hover {
background-color: transparent;
}
.btn:hover a{
color: #00cfef;
}
.btn-inverse {
color: #00cfef;
border: 1px solid #00cfef;
}
a.btn-inverse{
color: #00cfef;
}
.btn-inverse a{
color: #00cfef;
}
a.btn:hover {
color: #00cfef;
}
.btn a:hover {
color: #00cfef;
}
.btn-one{
background: none repeat scroll 0 0 #00cfef;
border: 1px solid #00cfef;
color: #fff !important;
}
.btn-one:hover {
border: 1px solid #00cfef;
color: #00cfef;
background: transparent;
}
.btn:hover {
border: 1px solid #00cfef;
color: #00cfef;
}
.hovicon.effect-1 {
background: #00cfef;
}
.hovicon.effect-1:after {
box-shadow: 0 0 0 4px #00cfef;
}
.text-color {
background: none repeat scroll 0 0 #00cfef;
}
.dporcaps-negative {
background: none repeat scroll 0 0 #00cfef;
}
.dporcaps {
color: #00cfef;
}
.blockqoute-style-2 {
border-left: 5px solid #00cfef;
}
cite {
color: #00cfef;
}
/* Effect 1a */
.hovicon.effect-1.sub-a:hover {
background: #00cfef;
}
.main-color
{
color: #00cfef;
}
.white-color
{
color: #fff;
}
/* End Titles & Color */
/* Facts */
.number p:first-letter {
color: #00cfef;
}
/* End Facts */
/* Team Member */
.team-member-holder:hover {
border-color: #00cfef;
}
.img-overlay {
background: #00cfef;
}
.view-profile {
color:#00cfef;
}
.team-member-social-list-item {
color: #00cfef;
}
.team-details h3{
color: #00cdef;
}
/* End Team Member */
/* Skills */
.skills h4:first-letter {
color: #00cfef;
}
/* End Skills */
/* Works */
#filters li span.active,#filters li span:hover {
background: #00cfef;
}
#filters li span {
border: 1px solid #00cfef;
color: #00cfef;
}
.project-details h3 {
color: #00cfef;
}
.project-description h3 {
color: #00cfef;
}
/* End Works */
/* Partners */
.partners-img:hover img{
border-color: #00cfef;
}
/* End Partners */
/* Pricing */
.single-table h4:first-letter {
color: #00cfef;
}
.price-icon {
background-color: #00cfef;
}
span.price {
color: #00cfef;
}
.single-table .btn-price, .sign_form input[type="submit"] {
background: none repeat scroll 0 0 #00cfef;
border: 1px solid #00cfef;
}
.single-table .btn-price:hover {
border: 1px solid #00cfef;
color: #00cfef;
}
.single-table.featured .price-icon, .single-table.featured .btn-price {
color: #00cfef;
}
.single-table.featured{
background-color: #00cfef;
}
.single-table.featured .price {
background-color: #00cfef;
}
/* End Pricing */
/* Clients */
.clients h5 {
color: #00cfef;
}
.carousel-indicators .active {
background-color: #00cfef;
border-color: #00cfef;
}
.carousel-indicators li {
border-color: #00cfef;
}
/* End Clients */
/* News */
.post-date {
background-color: #00cfef;
}
.entry-title a:hover {
color: #00cfef;
}
/* End News */
/* Blog */
.widget.tags-cloud a {
border: 1px solid #00cfef;
}
.widget.tags-cloud a:hover {
border: 1px solid #00cfef;
background-color: #00cfef;
}
.tags a {
border: 1px solid #00cfef;
}
.tags a:hover {
border: 1px solid #00cfef;
background-color: #00cfef;
}
.pager li > a, .pager li > span {
border: 1px solid #00cfef;
}
.pager li > a:hover, .pager li > a:focus {
border: 1px solid #00cfef;
background-color: #00cfef;
}
/* End Blog */
/* Tweet */
#twitter-carousel .item a {
color: #00cfef;
}
.twitter-icon .fa-twitter:after {
border-color: #00cfef transparent transparent;
}
.twitter-icon .fa-twitter, .twitter-left-control:hover, .twitter-right-control:hover {
background-color: #00cfef;
}
/* End Tweet */
/* Footer */
.bottom-footer {
border-top: 7px solid #00cfef;
}
.bottom-footer-left p a {
color: #00cfef;
}
.bottom-social-icons li a i{
background-color: #00cfef;
border: 1px solid #00cfef;
}
.bottom-social-icons li a i:hover{
color: #00cfef;
}
/* End Footer */
/* Contacts */
.contact_form i{
color: #00cfef;
}
.contact_form input[type="submit"] {
background: #00cfef;
border: 1px solid #00cfef;
}
.contact_form input[type="submit"]:hover {
color: #00cfef;
}
.sign_form input[type="submit"]:hover {
color: #00cfef;
}
/* End Contacts */
/* To Top */
a.scroll-up {
background: none repeat scroll 0 0 #00cfef;
}
a.scroll-up i {
color: #fff;
}
a.scroll-up:hover i {
color: #00cfef;
}
a.scroll-up:hover {
color: #00cfef;
border-color: #00cfef;
}
/* End To Top */
@@ -0,0 +1,470 @@
/*!
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default:disabled,
.btn-default[disabled] {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #265a88;
border-color: #245580;
}
.btn-primary:disabled,
.btn-primary[disabled] {
background-color: #265a88;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success:disabled,
.btn-success[disabled] {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info:disabled,
.btn-info[disabled] {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning:disabled,
.btn-warning[disabled] {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger:disabled,
.btn-danger[disabled] {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #2e6da4;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
@media (max-width: 767px) {
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #286090;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
border-color: #2b669a;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,410 @@
/* Golden Version CSS */
a:link, a:visited, a:hover, a:focus{text-decoration: none; color: #C0A777;}
.navbar-brand {
background: url("../../images/logo-white8.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
}
/* Home Slider */
#home-slider .caption h1 strong{
color:#C0A777;
}
.left-control:hover,
.right-control:hover {
background-color: #C0A777;
}
.learn-more {
border: 2px solid #C0A777;
}
.learn-more:hover {
background: #C0A777;
}
.left-control, .right-control {
border:1px solid #C0A777;
}
/* End Home Slider */
/* Navbar */
/* Link Color */
.navbar-inverse { border-color: #C0A777}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #C0A777}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus { color: #C0A777}
.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #C0A777}
.dropdown-menu>li>a { color: #C0A777}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #C0A777}
.navbar-toggle {
border: transparent;
background-color: #C0A777;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #C0A777;
}
/* End Navbar */
/* Loader */
.spinner > div
{
background: #C0A777;
}
/* End Loader */
/* Titles & Color */
.section-title h1 span{
background-color: #C0A777;
}
.btn {
background-image: none;
background-color: #C0A777;
color: #fff;
}
a.btn {
color: #fff;
}
.btn a {
color: #fff;
}
.btn-inverse:hover{
color: #fff;
background-color: #C0A777;
}
.btn-inverse:hover a{
color: #fff;
}
a.btn-inverse:hover {
color: #fff;
}
.btn:hover {
background-color: transparent;
}
.btn:hover a{
color: #C0A777;
}
.btn-inverse {
color: #C0A777;
border: 1px solid #C0A777;
}
a.btn-inverse{
color: #C0A777;
}
.btn-inverse a{
color: #C0A777;
}
a.btn:hover {
color: #C0A777;
}
.btn a:hover {
color: #C0A777;
}
.btn-one{
background: none repeat scroll 0 0 #C0A777;
border: 1px solid #C0A777;
color: #fff !important;
}
.btn-one:hover {
border: 1px solid #C0A777;
color: #C0A777;
background: transparent;
}
.btn:hover {
border: 1px solid #C0A777;
color: #C0A777;
}
.hovicon.effect-1 {
background: #C0A777;
}
.hovicon.effect-1:after {
box-shadow: 0 0 0 4px #C0A777;
}
.text-color {
background: none repeat scroll 0 0 #C0A777;
}
.dporcaps-negative {
background: none repeat scroll 0 0 #C0A777;
}
.dporcaps {
color: #C0A777;
}
.blockqoute-style-2 {
border-left: 5px solid #C0A777;
}
cite {
color: #C0A777;
}
/* Effect 1a */
.hovicon.effect-1.sub-a:hover {
background: #C0A777;
}
.main-color
{
color: #C0A777;
}
.white-color
{
color: #fff;
}
/* End Titles & Color */
/* Facts */
.number p:first-letter {
color: #C0A777;
}
/* End Facts */
/* Team Member */
.team-member-holder:hover {
border-color: #C0A777;
}
.img-overlay {
background: #C0A777;
}
.view-profile {
color:#C0A777;
}
.team-member-social-list-item {
color: #C0A777;
}
.team-details h3{
color: #C0A777;
}
/* End Team Member */
/* Skills */
.skills h4:first-letter {
color: #C0A777;
}
/* End Skills */
/* Works */
#filters li span.active,#filters li span:hover {
background: #C0A777;
}
#filters li span {
border: 1px solid #C0A777;
color: #C0A777;
}
.project-details h3 {
color: #C0A777;
}
.project-description h3 {
color: #C0A777;
}
/* End Works */
/* Partners */
.partners-img:hover img{
border-color: #C0A777;
}
/* End Partners */
/* Pricing */
.single-table h4:first-letter {
color: #C0A777;
}
.price-icon {
background-color: #C0A777;
}
span.price {
color: #C0A777;
}
.single-table .btn-price, .sign_form input[type="submit"] {
background: none repeat scroll 0 0 #C0A777;
border: 1px solid #C0A777;
}
.single-table .btn-price:hover {
border: 1px solid #C0A777;
color: #C0A777;
}
.single-table.featured .price-icon, .single-table.featured .btn-price {
color: #C0A777;
}
.single-table.featured{
background-color: #C0A777;
}
.single-table.featured .price {
background-color: #C0A777;
}
/* End Pricing */
/* Clients */
.clients h5 {
color: #C0A777;
}
.carousel-indicators .active {
background-color: #C0A777;
border-color: #C0A777;
}
.carousel-indicators li {
border-color: #C0A777;
}
/* End Clients */
/* News */
.post-date {
background-color: #C0A777;
}
.entry-title a:hover {
color: #C0A777;
}
/* End News */
/* Blog */
.widget.tags-cloud a {
border: 1px solid #C0A777;
}
.widget.tags-cloud a:hover {
border: 1px solid #C0A777;
background-color: #C0A777;
}
.tags a {
border: 1px solid #C0A777;
}
.tags a:hover {
border: 1px solid #C0A777;
background-color: #C0A777;
}
.pager li > a, .pager li > span {
border: 1px solid #C0A777;
}
.pager li > a:hover, .pager li > a:focus {
border: 1px solid #C0A777;
background-color: #C0A777;
}
/* End Blog */
/* Tweet */
#twitter-carousel .item a {
color: #C0A777;
}
.twitter-icon .fa-twitter:after {
border-color: #C0A777 transparent transparent;
}
.twitter-icon .fa-twitter, .twitter-left-control:hover, .twitter-right-control:hover {
background-color: #C0A777;
}
/* End Tweet */
/* Footer */
.bottom-footer {
border-top: 7px solid #C0A777;
}
.bottom-footer-left p a {
color: #C0A777;
}
.bottom-social-icons li a i{
background-color: #C0A777;
border: 1px solid #C0A777;
}
.bottom-social-icons li a i:hover{
color: #C0A777;
}
/* End Footer */
/* Contacts */
.contact_form i{
color: #C0A777;
}
.contact_form input[type="submit"] {
background: #C0A777;
border: 1px solid #C0A777;
}
.contact_form input[type="submit"]:hover {
color: #C0A777;
}
.sign_form input[type="submit"]:hover {
color: #C0A777;
}
/* End Contacts */
/* To Top */
a.scroll-up {
background: none repeat scroll 0 0 #C0A777;
}
a.scroll-up i {
color: #fff;
}
a.scroll-up:hover i {
color: #C0A777;
}
a.scroll-up:hover {
color: #C0A777;
border-color: #C0A777;
}
/* End To Top */
@@ -0,0 +1,410 @@
/* Green Version CSS */
a:link, a:visited, a:hover, a:focus{text-decoration: none; color: #2BBF6A;}
.navbar-brand {
background: url("../../images/logo-white3.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
}
/* Home Slider */
#home-slider .caption h1 strong{
color:#2BBF6A;
}
.left-control:hover,
.right-control:hover {
background-color: #2BBF6A;
}
.learn-more {
border: 2px solid #2BBF6A;
}
.learn-more:hover {
background: #2BBF6A;
}
.left-control, .right-control {
border:1px solid #2BBF6A;
}
/* End Home Slider */
/* Navbar */
/* Link Color */
.navbar-inverse { border-color: #2BBF6A}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #2BBF6A}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus { color: #2BBF6A}
.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #2BBF6A}
.dropdown-menu>li>a { color: #2BBF6A}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #2BBF6A}
.navbar-toggle {
border: transparent;
background-color: #2BBF6A;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #2BBF6A;
}
/* End Navbar */
/* Loader */
.spinner > div
{
background: #2BBF6A;
}
/* End Loader*/
/* Titles & Color */
.section-title h1 span{
background-color: #2BBF6A;
}
.btn {
background-image: none;
background-color: #2BBF6A;
color: #fff;
}
a.btn {
color: #fff;
}
.btn a {
color: #fff;
}
.btn-inverse:hover{
color: #fff;
background-color: #2BBF6A;
}
.btn-inverse:hover a{
color: #fff;
}
a.btn-inverse:hover {
color: #fff;
}
.btn:hover {
background-color: transparent;
}
.btn:hover a{
color: #2BBF6A;
}
.btn-inverse {
color: #2BBF6A;
border: 1px solid #2BBF6A;
}
a.btn-inverse{
color: #2BBF6A;
}
.btn-inverse a{
color: #2BBF6A;
}
a.btn:hover {
color: #2BBF6A;
}
.btn a:hover {
color: #2BBF6A;
}
.btn-one{
background: none repeat scroll 0 0 #2BBF6A;
border: 1px solid #2BBF6A;
color: #fff !important;
}
.btn-one:hover {
border: 1px solid #2BBF6A;
color: #2BBF6A;
background: transparent;
}
.btn:hover {
border: 1px solid #2BBF6A;
color: #2BBF6A;
}
.hovicon.effect-1 {
background: #2BBF6A;
}
.hovicon.effect-1:after {
box-shadow: 0 0 0 4px #2BBF6A;
}
.text-color {
background: none repeat scroll 0 0 #2BBF6A;
}
.dporcaps-negative {
background: none repeat scroll 0 0 #2BBF6A;
}
.dporcaps {
color: #2BBF6A;
}
.blockqoute-style-2 {
border-left: 5px solid #2BBF6A;
}
cite {
color: #2BBF6A;
}
/* Effect 1a */
.hovicon.effect-1.sub-a:hover {
background: #2BBF6A;
}
.main-color
{
color: #2BBF6A;
}
.white-color
{
color: #fff;
}
/* End Titles & Color */
/* Facts */
.number p:first-letter {
color: #2BBF6A;
}
/* End Facts */
/* Team Member */
.team-member-holder:hover {
border-color: #2BBF6A;
}
.img-overlay {
background: #2BBF6A;
}
.view-profile {
color:#2BBF6A;
}
.team-member-social-list-item {
color: #2BBF6A;
}
.team-details h3{
color: #2BBF6A;
}
/* End Team Member */
/* Skills */
.skills h4:first-letter {
color: #2BBF6A;
}
/* End Skills */
/* Works */
#filters li span.active,#filters li span:hover {
background: #2BBF6A;
}
#filters li span {
border: 1px solid #2BBF6A;
color: #2BBF6A;
}
.project-details h3 {
color: #2BBF6A;
}
.project-description h3 {
color: #2BBF6A;
}
/* End Works */
/* Partners */
.partners-img:hover img{
border-color: #2BBF6A;
}
/* End Partners */
/* Pricing */
.single-table h4:first-letter {
color: #2BBF6A;
}
.price-icon {
background-color: #2BBF6A;
}
span.price {
color: #2BBF6A;
}
.single-table .btn-price, .sign_form input[type="submit"] {
background: none repeat scroll 0 0 #2BBF6A;
border: 1px solid #2BBF6A;
}
.single-table .btn-price:hover {
border: 1px solid #2BBF6A;
color: #2BBF6A;
}
.single-table.featured .price-icon, .single-table.featured .btn-price {
color: #2BBF6A;
}
.single-table.featured{
background-color: #2BBF6A;
}
.single-table.featured .price {
background-color: #2BBF6A;
}
/* End Pricing */
/* Clients */
.clients h5 {
color: #2BBF6A;
}
.carousel-indicators .active {
background-color: #2BBF6A;
border-color: #2BBF6A;
}
.carousel-indicators li {
border-color: #2BBF6A;
}
/* End Clients */
/* News */
.post-date {
background-color: #2BBF6A;
}
.entry-title a:hover {
color: #2BBF6A;
}
/* End News */
/* Blog */
.widget.tags-cloud a {
border: 1px solid #2BBF6A;
}
.widget.tags-cloud a:hover {
border: 1px solid #2BBF6A;
background-color: #2BBF6A;
}
.tags a {
border: 1px solid #2BBF6A;
}
.tags a:hover {
border: 1px solid #2BBF6A;
background-color: #2BBF6A;
}
.pager li > a, .pager li > span {
border: 1px solid #2BBF6A;
}
.pager li > a:hover, .pager li > a:focus {
border: 1px solid #2BBF6A;
background-color: #2BBF6A;
}
/* End Blog */
/* Tweet */
#twitter-carousel .item a {
color: #2BBF6A;
}
.twitter-icon .fa-twitter:after {
border-color: #2BBF6A transparent transparent;
}
.twitter-icon .fa-twitter, .twitter-left-control:hover, .twitter-right-control:hover {
background-color: #2BBF6A;
}
/* End Tweet */
/* Footer */
.bottom-footer {
border-top: 7px solid #2BBF6A;
}
.bottom-footer-left p a {
color: #2BBF6A;
}
.bottom-social-icons li a i{
background-color: #2BBF6A;
border: 1px solid #2BBF6A;
}
.bottom-social-icons li a i:hover{
color: #2BBF6A;
}
/* End Footer */
/* Contacts */
.contact_form i{
color: #2BBF6A;
}
.contact_form input[type="submit"] {
background: #2BBF6A;
border: 1px solid #2BBF6A;
}
.contact_form input[type="submit"]:hover {
color: #2BBF6A;
}
.sign_form input[type="submit"]:hover {
color: #2BBF6A;
}
/* End Contacts */
/* To Top */
a.scroll-up {
background: none repeat scroll 0 0 #2BBF6A;
}
a.scroll-up i {
color: #fff;
}
a.scroll-up:hover i {
color: #2BBF6A;
}
a.scroll-up:hover {
color: #2BBF6A;
border-color: #2BBF6A;
}
/* End To Top */
@@ -0,0 +1,410 @@
/* Magenta Version CSS */
a:link, a:visited, a:hover, a:focus{text-decoration: none; color: #ec008c;}
.navbar-brand {
background: url("../../images/logo-white6.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
}
/* Home Slider */
#home-slider .caption h1 strong{
color:#ec008c;
}
.left-control:hover,
.right-control:hover {
background-color: #ec008c;
}
.learn-more {
border: 2px solid #ec008c;
}
.learn-more:hover {
background: #ec008c;
}
.left-control, .right-control {
border:1px solid #ec008c;
}
/* End Home Slider */
/* Navbar */
/* Link Color */
.navbar-inverse { border-color: #ec008c}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #ec008c}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus { color: #ec008c}
.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #ec008c}
.dropdown-menu>li>a { color: #ec008c}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #ec008c}
.navbar-toggle {
border: transparent;
background-color: #ec008c;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #ec008c;
}
/* End Navbar */
/* Loader */
.spinner > div
{
background: #ec008c;
}
/* End Loader*/
/* Titles & Color */
.section-title h1 span{
background-color: #ec008c;
}
.btn {
background-image: none;
background-color: #ec008c;
color: #fff;
}
a.btn {
color: #fff;
}
.btn a {
color: #fff;
}
.btn-inverse:hover{
color: #fff;
background-color: #ec008c;
}
.btn-inverse:hover a{
color: #fff;
}
a.btn-inverse:hover {
color: #fff;
}
.btn:hover {
background-color: transparent;
}
.btn:hover a{
color: #ec008c;
}
.btn-inverse {
color: #ec008c;
border: 1px solid #ec008c;
}
a.btn-inverse{
color: #ec008c;
}
.btn-inverse a{
color: #ec008c;
}
a.btn:hover {
color: #ec008c;
}
.btn a:hover {
color: #ec008c;
}
.btn-one{
background: none repeat scroll 0 0 #ec008c;
border: 1px solid #ec008c;
color: #fff !important;
}
.btn-one:hover {
border: 1px solid #ec008c;
color: #ec008c;
background: transparent;
}
.btn:hover {
border: 1px solid #ec008c;
color: #ec008c;
}
.hovicon.effect-1 {
background: #ec008c;
}
.hovicon.effect-1:after {
box-shadow: 0 0 0 4px #ec008c;
}
.text-color {
background: none repeat scroll 0 0 #ec008c;
}
.dporcaps-negative {
background: none repeat scroll 0 0 #ec008c;
}
.dporcaps {
color: #ec008c;
}
.blockqoute-style-2 {
border-left: 5px solid #ec008c;
}
cite {
color: #ec008c;
}
/* Effect 1a */
.hovicon.effect-1.sub-a:hover {
background: #ec008c;
}
.main-color
{
color: #ec008c;
}
.white-color
{
color: #fff;
}
/* End Titles & Color */
/* Facts */
.number p:first-letter {
color: #ec008c;
}
/* End Facts */
/* Team Member */
.team-member-holder:hover {
border-color: #ec008c;
}
.img-overlay {
background: #ec008c;
}
.view-profile {
color:#ec008c;
}
.team-member-social-list-item {
color: #ec008c;
}
.team-details h3{
color: #ec008c;
}
/* End Team Member */
/* Skills */
.skills h4:first-letter {
color: #ec008c;
}
/* End Skills */
/* Works */
#filters li span.active,#filters li span:hover {
background: #ec008c;
}
#filters li span {
border: 1px solid #ec008c;
color: #ec008c;
}
.project-details h3 {
color: #ec008c;
}
.project-description h3 {
color: #ec008c;
}
/* End Works */
/* Partners */
.partners-img:hover img{
border-color: #ec008c;
}
/* End Partners */
/* Pricing */
.single-table h4:first-letter {
color: #ec008c;
}
.price-icon {
background-color: #ec008c;
}
span.price {
color: #ec008c;
}
.single-table .btn-price, .sign_form input[type="submit"] {
background: none repeat scroll 0 0 #ec008c;
border: 1px solid #ec008c;
}
.single-table .btn-price:hover {
border: 1px solid #ec008c;
color: #ec008c;
}
.single-table.featured .price-icon, .single-table.featured .btn-price {
color: #ec008c;
}
.single-table.featured{
background-color: #ec008c;
}
.single-table.featured .price {
background-color: #ec008c;
}
/* End Pricing */
/* Clients */
.clients h5 {
color: #ec008c;
}
.carousel-indicators .active {
background-color: #ec008c;
border-color: #ec008c;
}
.carousel-indicators li {
border-color: #ec008c;
}
/* End Clients */
/* News */
.post-date {
background-color: #ec008c;
}
.entry-title a:hover {
color: #ec008c;
}
/* End News */
/* Blog */
.widget.tags-cloud a {
border: 1px solid #ec008c;
}
.widget.tags-cloud a:hover {
border: 1px solid #ec008c;
background-color: #ec008c;
}
.tags a {
border: 1px solid #ec008c;
}
.tags a:hover {
border: 1px solid #ec008c;
background-color: #ec008c;
}
.pager li > a, .pager li > span {
border: 1px solid #ec008c;
}
.pager li > a:hover, .pager li > a:focus {
border: 1px solid #ec008c;
background-color: #ec008c;
}
/* End Blog */
/* Tweet */
#twitter-carousel .item a {
color: #ec008c;
}
.twitter-icon .fa-twitter:after {
border-color: #ec008c transparent transparent;
}
.twitter-icon .fa-twitter, .twitter-left-control:hover, .twitter-right-control:hover {
background-color: #ec008c;
}
/* End Tweet */
/* Footer */
.bottom-footer {
border-top: 7px solid #ec008c;
}
.bottom-footer-left p a {
color: #ec008c;
}
.bottom-social-icons li a i{
background-color: #ec008c;
border: 1px solid #ec008c;
}
.bottom-social-icons li a i:hover{
color: #ec008c;
}
/* End Footer */
/* Contacts */
.contact_form i{
color: #ec008c;
}
.contact_form input[type="submit"] {
background: #ec008c;
border: 1px solid #ec008c;
}
.contact_form input[type="submit"]:hover {
color: #ec008c;
}
.sign_form input[type="submit"]:hover {
color: #ec008c;
}
/* End Contacts */
/* To Top */
a.scroll-up {
background: none repeat scroll 0 0 #ec008c;
}
a.scroll-up i {
color: #fff;
}
a.scroll-up:hover i {
color: #ec008c;
}
a.scroll-up:hover {
color: #ec008c;
border-color: #ec008c;
}
/* End To Top */
@@ -0,0 +1,410 @@
/* Orange Version CSS */
a:link, a:visited, a:hover, a:focus{text-decoration: none; color: #ff6600;}
.navbar-brand {
background: url("../../images/logo-white4.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
}
/* Home Slider */
#home-slider .caption h1 strong{
color:#ff6600;
}
.left-control:hover,
.right-control:hover {
background-color: #ff6600;
}
.learn-more {
border: 2px solid #ff6600;
}
.learn-more:hover {
background: #ff6600;
}
.left-control, .right-control {
border:1px solid #ff6600;
}
/* End Home Slider */
/* Navbar */
/* Link Color */
.navbar-inverse { border-color: #ff6600}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #ff6600}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus { color: #ff6600}
.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #ff6600}
.dropdown-menu>li>a { color: #ff6600}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #ff6600}
.navbar-toggle {
border: transparent;
background-color: #ff6600;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #ff6600;
}
/* End Navbar */
/* Loader */
.spinner > div
{
background: #ff6600;
}
/* End Loader */
/* Titles & Color */
.section-title h1 span{
background-color: #ff6600;
}
.btn {
background-image: none;
background-color: #ff6600;
color: #fff;
}
a.btn {
color: #fff;
}
.btn a {
color: #fff;
}
.btn-inverse:hover{
color: #fff;
background-color: #ff6600;
}
.btn-inverse:hover a{
color: #fff;
}
a.btn-inverse:hover {
color: #fff;
}
.btn:hover {
background-color: transparent;
}
.btn:hover a{
color: #ff6600;
}
.btn-inverse {
color: #ff6600;
border: 1px solid #ff6600;
}
a.btn-inverse{
color: #ff6600;
}
.btn-inverse a{
color: #ff6600;
}
a.btn:hover {
color: #ff6600;
}
.btn a:hover {
color: #ff6600;
}
.btn-one{
background: none repeat scroll 0 0 #ff6600;
border: 1px solid #ff6600;
color: #fff !important;
}
.btn-one:hover {
border: 1px solid #ff6600;
color: #ff6600;
background: transparent;
}
.btn:hover {
border: 1px solid #ff6600;
color: #ff6600;
}
.hovicon.effect-1 {
background: #ff6600;
}
.hovicon.effect-1:after {
box-shadow: 0 0 0 4px #ff6600;
}
.text-color {
background: none repeat scroll 0 0 #ff6600;
}
.dporcaps-negative {
background: none repeat scroll 0 0 #ff6600;
}
.dporcaps {
color: #ff6600;
}
.blockqoute-style-2 {
border-left: 5px solid #ff6600;
}
cite {
color: #ff6600;
}
/* Effect 1a */
.hovicon.effect-1.sub-a:hover {
background: #ff6600;
}
.main-color
{
color: #ff6600;
}
.white-color
{
color: #fff;
}
/* End Titles & Color */
/* Facts */
.number p:first-letter {
color: #ff6600;
}
/* End Facts */
/* Team Member */
.team-member-holder:hover {
border-color: #ff6600;
}
.img-overlay {
background: #ff6600;
}
.view-profile {
color:#ff6600;
}
.team-member-social-list-item {
color: #ff6600;
}
.team-details h3{
color: #ff6600;
}
/* End Team Member */
/* Skills */
.skills h4:first-letter {
color: #ff6600;
}
/* End Skills */
/* Works */
#filters li span.active,#filters li span:hover {
background: #ff6600;
}
#filters li span {
border: 1px solid #ff6600;
color: #ff6600;
}
.project-details h3 {
color: #ff6600;
}
.project-description h3 {
color: #ff6600;
}
/* End Works */
/* Partners */
.partners-img:hover img{
border-color: #ff6600;
}
/* End Partners */
/* Pricing */
.single-table h4:first-letter {
color: #ff6600;
}
.price-icon {
background-color: #ff6600;
}
span.price {
color: #ff6600;
}
.single-table .btn-price, .sign_form input[type="submit"] {
background: none repeat scroll 0 0 #ff6600;
border: 1px solid #ff6600;
}
.single-table .btn-price:hover {
border: 1px solid #ff6600;
color: #ff6600;
}
.single-table.featured .price-icon, .single-table.featured .btn-price {
color: #ff6600;
}
.single-table.featured{
background-color: #ff6600;
}
.single-table.featured .price {
background-color: #ff6600;
}
/* End Pricing */
/* Clients */
.clients h5 {
color: #ff6600;
}
.carousel-indicators .active {
background-color: #ff6600;
border-color: #ff6600;
}
.carousel-indicators li {
border-color: #ff6600;
}
/* End Clients */
/* News */
.post-date {
background-color: #ff6600;
}
.entry-title a:hover {
color: #ff6600;
}
/* End News */
/* Blog */
.widget.tags-cloud a {
border: 1px solid #ff6600;
}
.widget.tags-cloud a:hover {
border: 1px solid #ff6600;
background-color: #ff6600;
}
.tags a {
border: 1px solid #ff6600;
}
.tags a:hover {
border: 1px solid #ff6600;
background-color: #ff6600;
}
.pager li > a, .pager li > span {
border: 1px solid #ff6600;
}
.pager li > a:hover, .pager li > a:focus {
border: 1px solid #ff6600;
background-color: #ff6600;
}
/* End Blog */
/* Tweet */
#twitter-carousel .item a {
color: #ff6600;
}
.twitter-icon .fa-twitter:after {
border-color: #ff6600 transparent transparent;
}
.twitter-icon .fa-twitter, .twitter-left-control:hover, .twitter-right-control:hover {
background-color: #ff6600;
}
/* End Tweet */
/* Footer */
.bottom-footer {
border-top: 7px solid #ff6600;
}
.bottom-footer-left p a {
color: #ff6600;
}
.bottom-social-icons li a i{
background-color: #ff6600;
border: 1px solid #ff6600;
}
.bottom-social-icons li a i:hover{
color: #ff6600;
}
/* End Footer */
/* Contacts */
.contact_form i{
color: #ff6600;
}
.contact_form input[type="submit"] {
background: #ff6600;
border: 1px solid #ff6600;
}
.contact_form input[type="submit"]:hover {
color: #ff6600;
}
.sign_form input[type="submit"]:hover {
color: #ff6600;
}
/* End Contacts */
/* To Top */
a.scroll-up {
background: none repeat scroll 0 0 #ff6600;
}
a.scroll-up i {
color: #fff;
}
a.scroll-up:hover i {
color: #ff6600;
}
a.scroll-up:hover {
color: #ff6600;
border-color: #ff6600;
}
/* End To Top */
@@ -0,0 +1,170 @@
div.pp_default .pp_top,div.pp_default .pp_top .pp_middle,div.pp_default .pp_top .pp_left,div.pp_default .pp_top .pp_right,div.pp_default .pp_bottom,div.pp_default .pp_bottom .pp_left,div.pp_default .pp_bottom .pp_middle,div.pp_default .pp_bottom .pp_right{height:13px}
div.pp_default .pp_top .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -93px no-repeat}
div.pp_default .pp_top .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) top left repeat-x}
div.pp_default .pp_top .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -93px no-repeat}
div.pp_default .pp_content .ppt{color:#f8f8f8}
div.pp_default .pp_content_container .pp_left{background:url(../images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y;padding-left:13px}
div.pp_default .pp_content_container .pp_right{background:url(../images/prettyPhoto/default/sprite_y.png) top right repeat-y;padding-right:13px}
div.pp_default .pp_next:hover{background:url(../images/prettyPhoto/default/sprite_next.png) center right no-repeat;cursor:pointer}
div.pp_default .pp_previous:hover{background:url(../images/prettyPhoto/default/sprite_prev.png) center left no-repeat;cursor:pointer}
div.pp_default .pp_expand{background:url(../images/prettyPhoto/default/sprite.png) 0 -29px no-repeat;cursor:pointer;width:28px;height:28px}
div.pp_default .pp_expand:hover{background:url(../images/prettyPhoto/default/sprite.png) 0 -56px no-repeat;cursor:pointer}
div.pp_default .pp_contract{background:url(../images/prettyPhoto/default/sprite.png) 0 -84px no-repeat;cursor:pointer;width:28px;height:28px}
div.pp_default .pp_contract:hover{background:url(../images/prettyPhoto/default/sprite.png) 0 -113px no-repeat;cursor:pointer}
div.pp_default .pp_close{width:30px;height:30px;background:url(../images/prettyPhoto/default/sprite.png) 2px 1px no-repeat;cursor:pointer}
div.pp_default .pp_gallery ul li a{background:url(../images/prettyPhoto/default/default_thumb.png) center center #f8f8f8;border:1px solid #aaa}
div.pp_default .pp_social{margin-top:7px}
div.pp_default .pp_gallery a.pp_arrow_previous,div.pp_default .pp_gallery a.pp_arrow_next{position:static;left:auto}
div.pp_default .pp_nav .pp_play,div.pp_default .pp_nav .pp_pause{background:url(../images/prettyPhoto/default/sprite.png) -51px 1px no-repeat;height:30px;width:30px}
div.pp_default .pp_nav .pp_pause{background-position:-51px -29px}
div.pp_default a.pp_arrow_previous,div.pp_default a.pp_arrow_next{background:url(../images/prettyPhoto/default/sprite.png) -31px -3px no-repeat;height:20px;width:20px;margin:4px 0 0}
div.pp_default a.pp_arrow_next{left:52px;background-position:-82px -3px}
div.pp_default .pp_content_container .pp_details{margin-top:5px}
div.pp_default .pp_nav{clear:none;height:30px;width:110px;position:relative}
div.pp_default .pp_nav .currentTextHolder{font-family:Georgia;font-style:italic;color:#999;font-size:11px;left:75px;line-height:25px;position:absolute;top:2px;margin:0;padding:0 0 0 10px}
div.pp_default .pp_close:hover,div.pp_default .pp_nav .pp_play:hover,div.pp_default .pp_nav .pp_pause:hover,div.pp_default .pp_arrow_next:hover,div.pp_default .pp_arrow_previous:hover{opacity:0.7}
div.pp_default .pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0}
div.pp_default .pp_bottom .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -127px no-repeat}
div.pp_default .pp_bottom .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) bottom left repeat-x}
div.pp_default .pp_bottom .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -127px no-repeat}
div.pp_default .pp_loaderIcon{background:url(../images/prettyPhoto/default/loader.gif) center center no-repeat}
div.light_rounded .pp_top .pp_left{background:url(../images/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat}
div.light_rounded .pp_top .pp_right{background:url(../images/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat}
div.light_rounded .pp_next:hover{background:url(../images/prettyPhoto/light_rounded/btnNext.png) center right no-repeat;cursor:pointer}
div.light_rounded .pp_previous:hover{background:url(../images/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}
div.light_rounded .pp_expand{background:url(../images/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.light_rounded .pp_expand:hover{background:url(../images/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.light_rounded .pp_contract{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.light_rounded .pp_contract:hover{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.light_rounded .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.light_rounded .pp_nav .pp_play{background:url(../images/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
div.light_rounded .pp_nav .pp_pause{background:url(../images/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
div.light_rounded .pp_arrow_previous{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat}
div.light_rounded .pp_arrow_next{background:url(../images/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat}
div.light_rounded .pp_bottom .pp_left{background:url(../images/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat}
div.light_rounded .pp_bottom .pp_right{background:url(../images/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat}
div.dark_rounded .pp_top .pp_left{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat}
div.dark_rounded .pp_top .pp_right{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat}
div.dark_rounded .pp_content_container .pp_left{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y}
div.dark_rounded .pp_content_container .pp_right{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y}
div.dark_rounded .pp_next:hover{background:url(../images/prettyPhoto/dark_rounded/btnNext.png) center right no-repeat;cursor:pointer}
div.dark_rounded .pp_previous:hover{background:url(../images/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}
div.dark_rounded .pp_expand{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.dark_rounded .pp_expand:hover{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.dark_rounded .pp_contract{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.dark_rounded .pp_contract:hover{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.dark_rounded .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.dark_rounded .pp_description{margin-right:85px;color:#fff}
div.dark_rounded .pp_nav .pp_play{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
div.dark_rounded .pp_nav .pp_pause{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
div.dark_rounded .pp_arrow_previous{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat}
div.dark_rounded .pp_arrow_next{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat}
div.dark_rounded .pp_bottom .pp_left{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat}
div.dark_rounded .pp_bottom .pp_right{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat}
div.dark_rounded .pp_loaderIcon{background:url(../images/prettyPhoto/dark_rounded/loader.gif) center center no-repeat}
div.dark_square .pp_left,div.dark_square .pp_middle,div.dark_square .pp_right,div.dark_square .pp_content{background:#000}
div.dark_square .pp_description{color:#fff;margin:0 85px 0 0}
div.dark_square .pp_loaderIcon{background:url(../images/prettyPhoto/dark_square/loader.gif) center center no-repeat}
div.dark_square .pp_expand{background:url(../images/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.dark_square .pp_expand:hover{background:url(../images/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.dark_square .pp_contract{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.dark_square .pp_contract:hover{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.dark_square .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.dark_square .pp_nav{clear:none}
div.dark_square .pp_nav .pp_play{background:url(../images/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
div.dark_square .pp_nav .pp_pause{background:url(../images/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
div.dark_square .pp_arrow_previous{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat}
div.dark_square .pp_arrow_next{background:url(../images/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat}
div.dark_square .pp_next:hover{background:url(../images/prettyPhoto/dark_square/btnNext.png) center right no-repeat;cursor:pointer}
div.dark_square .pp_previous:hover{background:url(../images/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat;cursor:pointer}
div.light_square .pp_expand{background:url(../images/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.light_square .pp_expand:hover{background:url(../images/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.light_square .pp_contract{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.light_square .pp_contract:hover{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.light_square .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.light_square .pp_nav .pp_play{background:url(../images/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
div.light_square .pp_nav .pp_pause{background:url(../images/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
div.light_square .pp_arrow_previous{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat}
div.light_square .pp_arrow_next{background:url(../images/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat}
div.light_square .pp_next:hover{background:url(../images/prettyPhoto/light_square/btnNext.png) center right no-repeat;cursor:pointer}
div.light_square .pp_previous:hover{background:url(../images/prettyPhoto/light_square/btnPrevious.png) center left no-repeat;cursor:pointer}
div.facebook .pp_top .pp_left{background:url(../images/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat}
div.facebook .pp_top .pp_middle{background:url(../images/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x}
div.facebook .pp_top .pp_right{background:url(../images/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat}
div.facebook .pp_content_container .pp_left{background:url(../images/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y}
div.facebook .pp_content_container .pp_right{background:url(../images/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y}
div.facebook .pp_expand{background:url(../images/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.facebook .pp_expand:hover{background:url(../images/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.facebook .pp_contract{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.facebook .pp_contract:hover{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.facebook .pp_close{width:22px;height:22px;background:url(../images/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.facebook .pp_description{margin:0 37px 0 0}
div.facebook .pp_loaderIcon{background:url(../images/prettyPhoto/facebook/loader.gif) center center no-repeat}
div.facebook .pp_arrow_previous{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat;height:22px;margin-top:0;width:22px}
div.facebook .pp_arrow_previous.disabled{background-position:0 -96px;cursor:default}
div.facebook .pp_arrow_next{background:url(../images/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat;height:22px;margin-top:0;width:22px}
div.facebook .pp_arrow_next.disabled{background-position:-32px -96px;cursor:default}
div.facebook .pp_nav{margin-top:0}
div.facebook .pp_nav p{font-size:15px;padding:0 3px 0 4px}
div.facebook .pp_nav .pp_play{background:url(../images/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat;height:22px;width:22px}
div.facebook .pp_nav .pp_pause{background:url(../images/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat;height:22px;width:22px}
div.facebook .pp_next:hover{background:url(../images/prettyPhoto/facebook/btnNext.png) center right no-repeat;cursor:pointer}
div.facebook .pp_previous:hover{background:url(../images/prettyPhoto/facebook/btnPrevious.png) center left no-repeat;cursor:pointer}
div.facebook .pp_bottom .pp_left{background:url(../images/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat}
div.facebook .pp_bottom .pp_middle{background:url(../images/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x}
div.facebook .pp_bottom .pp_right{background:url(../images/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat}
div.pp_pic_holder a:focus{outline:none}
div.pp_overlay{background:#000;display:none;left:0;position:absolute;top:0;width:100%;z-index:9500}
div.pp_pic_holder{display:none;position:absolute;width:100px;z-index:10000}
.pp_content{height:40px;min-width:40px}
* html .pp_content{width:40px}
.pp_content_container{position:relative;text-align:left;width:100%}
.pp_content_container .pp_left{padding-left:20px}
.pp_content_container .pp_right{padding-right:20px}
.pp_content_container .pp_details{float:left;margin:10px 0 2px}
.pp_description{display:none;margin:0}
.pp_social{float:left;margin:0}
.pp_social .facebook{float:left;margin-left:5px;width:55px;overflow:hidden}
.pp_social .twitter{float:left}
.pp_nav{clear:right;float:left;margin:3px 10px 0 0}
.pp_nav p{float:left;white-space:nowrap;margin:2px 4px}
.pp_nav .pp_play,.pp_nav .pp_pause{float:left;margin-right:4px;text-indent:-10000px}
a.pp_arrow_previous,a.pp_arrow_next{display:block;float:left;height:15px;margin-top:3px;overflow:hidden;text-indent:-10000px;width:14px}
.pp_hoverContainer{position:absolute;top:0;width:100%;z-index:2000}
.pp_gallery{display:none;left:50%;margin-top:-50px;position:absolute;z-index:10000}
.pp_gallery div{float:left;overflow:hidden;position:relative}
.pp_gallery ul{float:left;height:35px;position:relative;white-space:nowrap;margin:0 0 0 5px;padding:0}
.pp_gallery ul a{border:1px rgba(0,0,0,0.5) solid;display:block;float:left;height:33px;overflow:hidden}
.pp_gallery ul a img{border:0}
.pp_gallery li{display:block;float:left;margin:0 5px 0 0;padding:0}
.pp_gallery li.default a{background:url(../images/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat;display:block;height:33px;width:50px}
.pp_gallery .pp_arrow_previous,.pp_gallery .pp_arrow_next{margin-top:7px!important}
a.pp_next{background:url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:right;height:100%;text-indent:-10000px;width:49%}
a.pp_previous{background:url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:left;height:100%;text-indent:-10000px;width:49%}
a.pp_expand,a.pp_contract{cursor:pointer;display:none;height:20px;position:absolute;right:30px;text-indent:-10000px;top:10px;width:20px;z-index:20000}
a.pp_close{position:absolute;right:0;top:0;display:block;line-height:22px;text-indent:-10000px}
.pp_loaderIcon{display:block;height:24px;left:50%;position:absolute;top:50%;width:24px;margin:-12px 0 0 -12px}
#pp_full_res{line-height:1!important}
#pp_full_res .pp_inline{text-align:left}
#pp_full_res .pp_inline p{margin:0 0 15px}
div.ppt{color:#fff;display:none;font-size:17px;z-index:9999;margin:0 0 5px 15px}
div.pp_default .pp_content,div.light_rounded .pp_content{background-color:#fff}
div.pp_default #pp_full_res .pp_inline,div.light_rounded .pp_content .ppt,div.light_rounded #pp_full_res .pp_inline,div.light_square .pp_content .ppt,div.light_square #pp_full_res .pp_inline,div.facebook .pp_content .ppt,div.facebook #pp_full_res .pp_inline{color:#000}
div.pp_default .pp_gallery ul li a:hover,div.pp_default .pp_gallery ul li.selected a,.pp_gallery ul a:hover,.pp_gallery li.selected a{border-color:#fff}
div.pp_default .pp_details,div.light_rounded .pp_details,div.dark_rounded .pp_details,div.dark_square .pp_details,div.light_square .pp_details,div.facebook .pp_details{position:relative}
div.light_rounded .pp_top .pp_middle,div.light_rounded .pp_content_container .pp_left,div.light_rounded .pp_content_container .pp_right,div.light_rounded .pp_bottom .pp_middle,div.light_square .pp_left,div.light_square .pp_middle,div.light_square .pp_right,div.light_square .pp_content,div.facebook .pp_content{background:#fff}
div.light_rounded .pp_description,div.light_square .pp_description{margin-right:85px}
div.light_rounded .pp_gallery a.pp_arrow_previous,div.light_rounded .pp_gallery a.pp_arrow_next,div.dark_rounded .pp_gallery a.pp_arrow_previous,div.dark_rounded .pp_gallery a.pp_arrow_next,div.dark_square .pp_gallery a.pp_arrow_previous,div.dark_square .pp_gallery a.pp_arrow_next,div.light_square .pp_gallery a.pp_arrow_previous,div.light_square .pp_gallery a.pp_arrow_next{margin-top:12px!important}
div.light_rounded .pp_arrow_previous.disabled,div.dark_rounded .pp_arrow_previous.disabled,div.dark_square .pp_arrow_previous.disabled,div.light_square .pp_arrow_previous.disabled{background-position:0 -87px;cursor:default}
div.light_rounded .pp_arrow_next.disabled,div.dark_rounded .pp_arrow_next.disabled,div.dark_square .pp_arrow_next.disabled,div.light_square .pp_arrow_next.disabled{background-position:-22px -87px;cursor:default}
div.light_rounded .pp_loaderIcon,div.light_square .pp_loaderIcon{background:url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat}
div.dark_rounded .pp_top .pp_middle,div.dark_rounded .pp_content,div.dark_rounded .pp_bottom .pp_middle{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat}
div.dark_rounded .currentTextHolder,div.dark_square .currentTextHolder{color:#c4c4c4}
div.dark_rounded #pp_full_res .pp_inline,div.dark_square #pp_full_res .pp_inline{color:#fff}
.pp_top,.pp_bottom{height:20px;position:relative}
* html .pp_top,* html .pp_bottom{padding:0 20px}
.pp_top .pp_left,.pp_bottom .pp_left{height:20px;left:0;position:absolute;width:20px}
.pp_top .pp_middle,.pp_bottom .pp_middle{height:20px;left:20px;position:absolute;right:20px}
* html .pp_top .pp_middle,* html .pp_bottom .pp_middle{left:0;position:static}
.pp_top .pp_right,.pp_bottom .pp_right{height:20px;left:auto;position:absolute;right:0;top:0;width:20px}
.pp_fade,.pp_gallery li.default a img{display:none}
@@ -0,0 +1,410 @@
/* Purple Version CSS */
a:link, a:visited, a:hover, a:focus{text-decoration: none; color: #9b59b6;}
.navbar-brand {
background: url("../../images/logo-white5.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
}
/* Home Slider */
#home-slider .caption h1 strong{
color:#9b59b6;
}
.left-control:hover,
.right-control:hover {
background-color: #9b59b6;
}
.learn-more {
border: 2px solid #9b59b6;
}
.learn-more:hover {
background: #9b59b6;
}
.left-control, .right-control {
border:1px solid #9b59b6;
}
/* End Home Slider */
/* Navbar */
/* Link Color */
.navbar-inverse { border-color: #9b59b6}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #9b59b6}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus { color: #9b59b6}
.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #9b59b6}
.dropdown-menu>li>a { color: #9b59b6}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #9b59b6}
.navbar-toggle {
border: transparent;
background-color: #9b59b6;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #9b59b6;
}
/* End Navbar */
/* Loader */
.spinner > div
{
background: #9b59b6;
}
/* End Loader*/
/* Titles & Color */
.section-title h1 span{
background-color: #9b59b6;
}
.btn {
background-image: none;
background-color: #9b59b6;
color: #fff;
}
a.btn {
color: #fff;
}
.btn a {
color: #fff;
}
.btn-inverse:hover{
color: #fff;
background-color: #9b59b6;
}
.btn-inverse:hover a{
color: #fff;
}
a.btn-inverse:hover {
color: #fff;
}
.btn:hover {
background-color: transparent;
}
.btn:hover a{
color: #9b59b6;
}
.btn-inverse {
color: #9b59b6;
border: 1px solid #9b59b6;
}
a.btn-inverse{
color: #9b59b6;
}
.btn-inverse a{
color: #9b59b6;
}
a.btn:hover {
color: #9b59b6;
}
.btn a:hover {
color: #9b59b6;
}
.btn-one{
background: none repeat scroll 0 0 #9b59b6;
border: 1px solid #9b59b6;
color: #fff !important;
}
.btn-one:hover {
border: 1px solid #9b59b6;
color: #9b59b6;
background: transparent;
}
.btn:hover {
border: 1px solid #9b59b6;
color: #9b59b6;
}
.hovicon.effect-1 {
background: #9b59b6;
}
.hovicon.effect-1:after {
box-shadow: 0 0 0 4px #9b59b6;
}
.text-color {
background: none repeat scroll 0 0 #9b59b6;
}
.dporcaps-negative {
background: none repeat scroll 0 0 #9b59b6;
}
.dporcaps {
color: #9b59b6;
}
.blockqoute-style-2 {
border-left: 5px solid #9b59b6;
}
cite {
color: #9b59b6;
}
/* Effect 1a */
.hovicon.effect-1.sub-a:hover {
background: #9b59b6;
}
.main-color
{
color: #9b59b6;
}
.white-color
{
color: #fff;
}
/* End Titles & Color */
/* Facts */
.number p:first-letter {
color: #9b59b6;
}
/* End Facts */
/* Team Member */
.team-member-holder:hover {
border-color: #9b59b6;
}
.img-overlay {
background: #9b59b6;
}
.view-profile {
color:#9b59b6;
}
.team-member-social-list-item {
color: #9b59b6;
}
.team-details h3{
color: #9b59b6;
}
/* End Team Member */
/* Skills */
.skills h4:first-letter {
color: #9b59b6;
}
/* End Skills */
/* Works */
#filters li span.active,#filters li span:hover {
background: #9b59b6;
}
#filters li span {
border: 1px solid #9b59b6;
color: #9b59b6;
}
.project-details h3 {
color: #9b59b6;
}
.project-description h3 {
color: #9b59b6;
}
/* End Works */
/* Partners */
.partners-img:hover img{
border-color: #9b59b6;
}
/* End Partners */
/* Pricing */
.single-table h4:first-letter {
color: #9b59b6;
}
.price-icon {
background-color: #9b59b6;
}
span.price {
color: #9b59b6;
}
.single-table .btn-price, .sign_form input[type="submit"] {
background: none repeat scroll 0 0 #9b59b6;
border: 1px solid #9b59b6;
}
.single-table .btn-price:hover {
border: 1px solid #9b59b6;
color: #9b59b6;
}
.single-table.featured .price-icon, .single-table.featured .btn-price {
color: #9b59b6;
}
.single-table.featured{
background-color: #9b59b6;
}
.single-table.featured .price {
background-color: #9b59b6;
}
/* End Pricing */
/* Clients */
.clients h5 {
color: #9b59b6;
}
.carousel-indicators .active {
background-color: #9b59b6;
border-color: #9b59b6;
}
.carousel-indicators li {
border-color: #9b59b6;
}
/* End Clients */
/* News */
.post-date {
background-color: #9b59b6;
}
.entry-title a:hover {
color: #9b59b6;
}
/* End News */
/* Blog */
.widget.tags-cloud a {
border: 1px solid #9b59b6;
}
.widget.tags-cloud a:hover {
border: 1px solid #9b59b6;
background-color: #9b59b6;
}
.tags a {
border: 1px solid #9b59b6;
}
.tags a:hover {
border: 1px solid #9b59b6;
background-color: #9b59b6;
}
.pager li > a, .pager li > span {
border: 1px solid #9b59b6;
}
.pager li > a:hover, .pager li > a:focus {
border: 1px solid #9b59b6;
background-color: #9b59b6;
}
/* End Blog */
/* Tweet */
#twitter-carousel .item a {
color: #9b59b6;
}
.twitter-icon .fa-twitter:after {
border-color: #9b59b6 transparent transparent;
}
.twitter-icon .fa-twitter, .twitter-left-control:hover, .twitter-right-control:hover {
background-color: #9b59b6;
}
/* End Tweet */
/* Footer */
.bottom-footer {
border-top: 7px solid #9b59b6;
}
.bottom-footer-left p a {
color: #9b59b6;
}
.bottom-social-icons li a i{
background-color: #9b59b6;
border: 1px solid #9b59b6;
}
.bottom-social-icons li a i:hover{
color: #9b59b6;
}
/* End Footer */
/* Contacts */
.contact_form i{
color: #9b59b6;
}
.contact_form input[type="submit"] {
background: #9b59b6;
border: 1px solid #9b59b6;
}
.contact_form input[type="submit"]:hover {
color: #9b59b6;
}
.sign_form input[type="submit"]:hover {
color: #9b59b6;
}
/* End Contacts */
/* To Top */
a.scroll-up {
background: none repeat scroll 0 0 #9b59b6;
}
a.scroll-up i {
color: #fff;
}
a.scroll-up:hover i {
color: #9b59b6;
}
a.scroll-up:hover {
color: #9b59b6;
border-color: #9b59b6;
}
/* End To Top */
@@ -0,0 +1,410 @@
/* Red Version CSS */
a:link, a:visited, a:hover, a:focus{text-decoration: none; color: #e21e25;}
.navbar-brand {
background: url("../../images/logo-white2.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
}
/* Home Slider */
#home-slider .caption h1 strong{
color:#e21e25;
}
.left-control:hover,
.right-control:hover {
background-color: #e21e25;
}
.learn-more {
border: 2px solid #e21e25;
}
.learn-more:hover {
background: #e21e25;
}
.left-control, .right-control {
border:1px solid #e21e25;
}
/* End Home Slider */
/* Navbar */
/* Link Color */
.navbar-inverse { border-color: #e21e25}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #e21e25}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus { color: #e21e25}
.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #e21e25}
.dropdown-menu>li>a { color: #e21e25}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #e21e25}
.navbar-toggle {
border: transparent;
background-color: #e21e25;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #e21e25;
}
/* End Navbar */
/* Loader */
.spinner > div
{
background: #e21e25;
}
/* End Loader */
/* Titles & Color */
.section-title h1 span{
background-color: #e21e25;
}
.btn {
background-image: none;
background-color: #e21e25;
color: #fff;
}
a.btn {
color: #fff;
}
.btn a {
color: #fff;
}
.btn-inverse:hover{
color: #fff;
background-color: #e21e25;
}
.btn-inverse:hover a{
color: #fff;
}
a.btn-inverse:hover {
color: #fff;
}
.btn:hover {
background-color: transparent;
}
.btn:hover a{
color: #e21e25;
}
.btn-inverse {
color: #e21e25;
border: 1px solid #e21e25;
}
a.btn-inverse{
color: #e21e25;
}
.btn-inverse a{
color: #e21e25;
}
a.btn:hover {
color: #e21e25;
}
.btn a:hover {
color: #e21e25;
}
.btn-one{
background: none repeat scroll 0 0 #e21e25;
border: 1px solid #e21e25;
color: #fff !important;
}
.btn-one:hover {
border: 1px solid #e21e25;
color: #e21e25;
background: transparent;
}
.btn:hover {
border: 1px solid #e21e25;
color: #e21e25;
}
.hovicon.effect-1 {
background: #e21e25;
}
.hovicon.effect-1:after {
box-shadow: 0 0 0 4px #e21e25;
}
.text-color {
background: none repeat scroll 0 0 #e21e25;
}
.dporcaps-negative {
background: none repeat scroll 0 0 #e21e25;
}
.dporcaps {
color: #e21e25;
}
.blockqoute-style-2 {
border-left: 5px solid #e21e25;
}
cite {
color: #e21e25;
}
/* Effect 1a */
.hovicon.effect-1.sub-a:hover {
background: #e21e25;
}
.main-color
{
color: #e21e25;
}
.white-color
{
color: #fff;
}
/* End Titles & Color */
/* Facts */
.number p:first-letter {
color: #e21e25;
}
/* End Facts */
/* Team Member */
.team-member-holder:hover {
border-color: #e21e25;
}
.img-overlay {
background: #e21e25;
}
.view-profile {
color:#e21e25;
}
.team-member-social-list-item {
color: #e21e25;
}
.team-details h3{
color: #e21e25;
}
/* End Team Member */
/* Skills */
.skills h4:first-letter {
color: #e21e25;
}
/* End Skills */
/* Works */
#filters li span.active,#filters li span:hover {
background: #e21e25;
}
#filters li span {
border: 1px solid #e21e25;
color: #e21e25;
}
.project-details h3 {
color: #e21e25;
}
.project-description h3 {
color: #e21e25;
}
/* End Works */
/* Partners */
.partners-img:hover img{
border-color: #e21e25;
}
/* End Partners */
/* Pricing */
.single-table h4:first-letter {
color: #e21e25;
}
.price-icon {
background-color: #e21e25;
}
span.price {
color: #e21e25;
}
.single-table .btn-price, .sign_form input[type="submit"] {
background: none repeat scroll 0 0 #e21e25;
border: 1px solid #e21e25;
}
.single-table .btn-price:hover {
border: 1px solid #e21e25;
color: #e21e25;
}
.single-table.featured .price-icon, .single-table.featured .btn-price {
color: #e21e25;
}
.single-table.featured{
background-color: #e21e25;
}
.single-table.featured .price {
background-color: #e21e25;
}
/* End Pricing */
/* Clients */
.clients h5 {
color: #e21e25;
}
.carousel-indicators .active {
background-color: #e21e25;
border-color: #e21e25;
}
.carousel-indicators li {
border-color: #e21e25;
}
/* End Clients */
/* News */
.post-date {
background-color: #e21e25;
}
.entry-title a:hover {
color: #e21e25;
}
/* End News */
/* Blog */
.widget.tags-cloud a {
border: 1px solid #e21e25;
}
.widget.tags-cloud a:hover {
border: 1px solid #e21e25;
background-color: #e21e25;
}
.tags a {
border: 1px solid #e21e25;
}
.tags a:hover {
border: 1px solid #e21e25;
background-color: #e21e25;
}
.pager li > a, .pager li > span {
border: 1px solid #e21e25;
}
.pager li > a:hover, .pager li > a:focus {
border: 1px solid #e21e25;
background-color: #e21e25;
}
/* End Blog */
/* Tweet */
#twitter-carousel .item a {
color: #e21e25;
}
.twitter-icon .fa-twitter:after {
border-color: #e21e25 transparent transparent;
}
.twitter-icon .fa-twitter, .twitter-left-control:hover, .twitter-right-control:hover {
background-color: #e21e25;
}
/* End Tweet */
/* Footer */
.bottom-footer {
border-top: 7px solid #e21e25;
}
.bottom-footer-left p a {
color: #e21e25;
}
.bottom-social-icons li a i{
background-color: #e21e25;
border: 1px solid #e21e25;
}
.bottom-social-icons li a i:hover{
color: #e21e25;
}
/* End Footer */
/* Contacts */
.contact_form i{
color: #e21e25;
}
.contact_form input[type="submit"] {
background: #e21e25;
border: 1px solid #e21e25;
}
.contact_form input[type="submit"]:hover {
color: #e21e25;
}
.sign_form input[type="submit"]:hover {
color: #e21e25;
}
/* End Contacts */
/* To Top */
a.scroll-up {
background: none repeat scroll 0 0 #e21e25;
}
a.scroll-up i {
color: #fff;
}
a.scroll-up:hover i {
color: #e21e25;
}
a.scroll-up:hover {
color: #e21e25;
border-color: #e21e25;
}
/* End To Top */
@@ -0,0 +1,280 @@
/* Small desktop */
@media (min-width: 980px) and (max-width: 1199px) {
/* Works */
.myport .portfolio ,
.myport .portfolio-5-col,
.myport .portfolio-4-col,
.myport .portfolio-3-col
{
width: 25%;
}
.img-holder:hover .overlay-content{
top: 20%;
}
}
/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 979px) {
/* Home Slider */
#home-slider .caption h1 {
font-size: 60px;
}
#home-slider .caption p {
font-size: 35px;
}
/* Navagation*/
.navbar-header {
float: none;
}
.navbar-left,.navbar-right {
float: none !important;
}
.navbar-toggle {
display: block;
}
.navbar-collapse {
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.navbar-fixed-top {
top: 0;
border-width: 0 0 1px;
}
.navbar-collapse.collapse {
display: none!important;
}
.navbar-nav {
float: none!important;
margin-top: 7.5px;
}
.navbar-nav>li {
float: none;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
}
.collapse.in{
display:block !important;
}
.navbar-collapse.in {
overflow-y: auto !important;
}
.navbar-nav .open .dropdown-menu {
position: static;
float: none;
width: auto;
margin-top: 0;
background-color: transparent;
border: 0;
box-shadow: none;
}
.navbar-nav .open .dropdown-menu>li>a, .navbar-nav .open .dropdown-menu .dropdown-header {
padding: 5px 15px 5px 25px;
}
.navbar-inverse .navbar-nav .open .dropdown-menu>li>a {
color: #999;
}
.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus {
color: #fff;
background-color: transparent;
background-image:none;
}
/* Block Best Fitting */
.wrapper-team .col-md-3,
.wrapper-number .col-md-3,
.wrapper-count .col-md-3,
.wrapper-partners .col-md-3
{
float: left;
margin: 0 auto;
width: 50%;
}
/* Price */
.wrapper-pricing .col-md-3{
margin: 0 auto 20px;
width: 50%;
float: left;
}
/* Works */
.myport .portfolio ,
.myport .portfolio-5-col,
.myport .portfolio-4-col,
.myport .portfolio-3-col
{
width: 33.33%;
}
.img-holder:hover .overlay-content{
top: 20%;
}
/* News */
.post-date{
padding: 5px 15px;
}
.post-date h2 {
font-size: 16px;
margin-top: 5px;
}
.post-date h2 span {
font-size: 18px;
}
/* Contact Form */
.contact_form {
width: 90%;
}
}
/* Landscape phone to portrait tablet */
@media (max-width: 767px) {
#home-slider .caption h1 {
font-size: 40px;
}
#home-slider .caption p {
font-size: 15px;
}
/* Block Best Fitting */
.wrapper-number .col-md-3,
.wrapper-team .col-md-3,
.wrapper-count .col-md-3,
.wrapper-partners .col-md-3{
float: left;
margin: 0 auto;
width: 50%;
}
/* Price */
.wrapper-pricing .col-md-3{
margin: 0 auto 20px;
width: 70%;
}
/* Works */
.myport .portfolio ,
.myport .portfolio-5-col,
.myport .portfolio-4-col,
.myport .portfolio-3-col
{
width: 50%;
}
.img-holder:hover .overlay-content{
top: 20%;
}
/* News */
.post-date{
padding: 5px 15px;
}
.post-date h2 {
font-size: 16px;
margin-top: 5px;
}
.post-date h2 span {
font-size: 18px;
}
/* Contact Form */
.contact_form {
width: 90%;
}
}
/* Landscape phones and down */
@media (max-width: 480px) {
/* Home Slider */
#home-slider .caption h1 {
font-size: 40px;
}
#home-slider .caption {
font-size: 15px;
padding: 0 30px;
}
.left-control, .right-control {
font-size: 20px;
height: 30px;
line-height: 25px;
width: 30px;
}
#home-slider:hover .right-control {
right: 15px;
}
#home-slider:hover .left-control {
left: 15px;
}
/* Block Best Fitting */
.wrapper-team .col-md-3,
.wrapper-number .col-md-3,
.wrapper-count .col-md-3,
.wrapper-partners .col-md-3
{
margin: 0 auto;
width: 100%;
}
/* Price */
.wrapper-pricing .col-md-3{
margin: 0 auto 20px;
width: 100%;
}
/* Facts */
.wrapper-contacts-icons .col-xs-4{
width: 100%;
}
/* Works */
.myport .portfolio ,
.myport .portfolio-5-col,
.myport .portfolio-4-col,
.myport .portfolio-3-col
{
width: 100%;
}
/* Titles */
.section-title h1 span{
padding: 0 4px;
font-size: 30px;
}
.element-title h1 {
font-size: 20px;
}
.element-title h3 {
font-size: 16px;
}
/* Contact Form */
.contact_form {
width: 90%;
}
}
@media all and (-webkit-min-device-pixel-ratio: 1.5)
{
/*.navbar-brand { background: url("../images/logo-white@2x.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);background-size: 151px 47px; }*/
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,410 @@
/* Yellow Version CSS */
a:link, a:visited, a:hover, a:focus{text-decoration: none; color: #ffd600;}
.navbar-brand {
background: url("../../images/logo-white7.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
}
/* Home Slider */
#home-slider .caption h1 strong{
color:#ffd600;
}
.left-control:hover,
.right-control:hover {
background-color: #ffd600;
}
.learn-more {
border: 2px solid #ffd600;
}
.learn-more:hover {
background: #ffd600;
}
.left-control, .right-control {
border:1px solid #ffd600;
}
/* End Home Slider */
/* Navbar */
/* Link Color */
.navbar-inverse { border-color: #ffd600}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #ffd600}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus { color: #ffd600}
.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #ffd600}
.dropdown-menu>li>a { color: #ffd600}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #ffd600}
.navbar-toggle {
border: transparent;
background-color: #ffd600;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #ffd600;
}
/* End Navbar */
/* Loader */
.spinner > div
{
background: #ffd600;
}
/* End Loader*/
/* Titles & Color */
.section-title h1 span{
background-color: #ffd600;
}
.btn {
background-image: none;
background-color: #ffd600;
color: #fff;
}
a.btn {
color: #fff;
}
.btn a {
color: #fff;
}
.btn-inverse:hover{
color: #fff;
background-color: #ffd600;
}
.btn-inverse:hover a{
color: #fff;
}
a.btn-inverse:hover {
color: #fff;
}
.btn:hover {
background-color: transparent;
}
.btn:hover a{
color: #ffd600;
}
.btn-inverse {
color: #ffd600;
border: 1px solid #ffd600;
}
a.btn-inverse{
color: #ffd600;
}
.btn-inverse a{
color: #ffd600;
}
a.btn:hover {
color: #ffd600;
}
.btn a:hover {
color: #ffd600;
}
.btn-one{
background: none repeat scroll 0 0 #ffd600;
border: 1px solid #ffd600;
color: #fff !important;
}
.btn-one:hover {
border: 1px solid #ffd600;
color: #ffd600;
background: transparent;
}
.btn:hover {
border: 1px solid #ffd600;
color: #ffd600;
}
.hovicon.effect-1 {
background: #ffd600;
}
.hovicon.effect-1:after {
box-shadow: 0 0 0 4px #ffd600;
}
.text-color {
background: none repeat scroll 0 0 #ffd600;
}
.dporcaps-negative {
background: none repeat scroll 0 0 #ffd600;
}
.dporcaps {
color: #ffd600;
}
.blockqoute-style-2 {
border-left: 5px solid #ffd600;
}
cite {
color: #ffd600;
}
/* Effect 1a */
.hovicon.effect-1.sub-a:hover {
background: #ffd600;
}
.main-color
{
color: #ffd600;
}
.white-color
{
color: #fff;
}
/* End Titles & Color */
/* Facts */
.number p:first-letter {
color: #ffd600;
}
/* End Facts */
/* Team Member */
.team-member-holder:hover {
border-color: #ffd600;
}
.img-overlay {
background: #ffd600;
}
.view-profile {
color:#ffd600;
}
.team-member-social-list-item {
color: #ffd600;
}
.team-details h3{
color: #ffd600;
}
/* End Team Member */
/* Skills */
.skills h4:first-letter {
color: #ffd600;
}
/* End Skills */
/* Works */
#filters li span.active,#filters li span:hover {
background: #ffd600;
}
#filters li span {
border: 1px solid #ffd600;
color: #ffd600;
}
.project-details h3 {
color: #ffd600;
}
.project-description h3 {
color: #ffd600;
}
/* End Works */
/* Partners */
.partners-img:hover img{
border-color: #ffd600;
}
/* End Partners */
/* Pricing */
.single-table h4:first-letter {
color: #ffd600;
}
.price-icon {
background-color: #ffd600;
}
span.price {
color: #ffd600;
}
.single-table .btn-price, .sign_form input[type="submit"] {
background: none repeat scroll 0 0 #ffd600;
border: 1px solid #ffd600;
}
.single-table .btn-price:hover {
border: 1px solid #ffd600;
color: #ffd600;
}
.single-table.featured .price-icon, .single-table.featured .btn-price {
color: #ffd600;
}
.single-table.featured{
background-color: #ffd600;
}
.single-table.featured .price {
background-color: #ffd600;
}
/* End Pricing */
/* Clients */
.clients h5 {
color: #ffd600;
}
.carousel-indicators .active {
background-color: #ffd600;
border-color: #ffd600;
}
.carousel-indicators li {
border-color: #ffd600;
}
/* End Clients */
/* News */
.post-date {
background-color: #ffd600;
}
.entry-title a:hover {
color: #ffd600;
}
/* End News */
/* Blog */
.widget.tags-cloud a {
border: 1px solid #ffd600;
}
.widget.tags-cloud a:hover {
border: 1px solid #ffd600;
background-color: #ffd600;
}
.tags a {
border: 1px solid #ffd600;
}
.tags a:hover {
border: 1px solid #ffd600;
background-color: #ffd600;
}
.pager li > a, .pager li > span {
border: 1px solid #ffd600;
}
.pager li > a:hover, .pager li > a:focus {
border: 1px solid #ffd600;
background-color: #ffd600;
}
/* End Blog */
/* Tweet */
#twitter-carousel .item a {
color: #ffd600;
}
.twitter-icon .fa-twitter:after {
border-color: #ffd600 transparent transparent;
}
.twitter-icon .fa-twitter, .twitter-left-control:hover, .twitter-right-control:hover {
background-color: #ffd600;
}
/* End Tweet */
/* Footer */
.bottom-footer {
border-top: 7px solid #ffd600;
}
.bottom-footer-left p a {
color: #ffd600;
}
.bottom-social-icons li a i{
background-color: #ffd600;
border: 1px solid #ffd600;
}
.bottom-social-icons li a i:hover{
color: #ffd600;
}
/* End Footer */
/* Contacts */
.contact_form i{
color: #ffd600;
}
.contact_form input[type="submit"] {
background: #ffd600;
border: 1px solid #ffd600;
}
.contact_form input[type="submit"]:hover {
color: #ffd600;
}
.sign_form input[type="submit"]:hover {
color: #ffd600;
}
/* End Contacts */
/* To Top */
a.scroll-up {
background: none repeat scroll 0 0 #ffd600;
}
a.scroll-up i {
color: #fff;
}
a.scroll-up:hover i {
color: #ffd600;
}
a.scroll-up:hover {
color: #ffd600;
border-color: #ffd600;
}
/* End To Top */
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Some files were not shown because too many files have changed in this diff Show More