Requests exceptions httperror 403 client error forbidden

I needed to parse a site, but i got an error 403 Forbidden. Here is a code: url = 'http://worldagnetwork.com/' result = requests.get(url) print(result.content.decode()) Its output: ...

I needed to parse a site, but i got an error 403 Forbidden.
Here is a code:

url = 'http://worldagnetwork.com/'
result = requests.get(url)
print(result.content.decode())

Its output:

<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>

Please, say what the problem is.

Aidas Bendoraitis's user avatar

asked Jul 20, 2016 at 19:36

Толкачёв Иван's user avatar

Толкачёв ИванТолкачёв Иван

1,6193 gold badges10 silver badges13 bronze badges

2

It seems the page rejects GET requests that do not identify a User-Agent. I visited the page with a browser (Chrome) and copied the User-Agent header of the GET request (look in the Network tab of the developer tools):

import requests
url = 'http://worldagnetwork.com/'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
result = requests.get(url, headers=headers)
print(result.content.decode())

# <!doctype html>
# <!--[if lt IE 7 ]><html class="no-js ie ie6" lang="en"> <![endif]-->
# <!--[if IE 7 ]><html class="no-js ie ie7" lang="en"> <![endif]-->
# <!--[if IE 8 ]><html class="no-js ie ie8" lang="en"> <![endif]-->
# <!--[if (gte IE 9)|!(IE)]><!--><html class="no-js" lang="en"> <!--<![endif]-->
# ...

answered Jul 20, 2016 at 19:48

Alicia Garcia-Raboso's user avatar

2

Just add to Alberto’s answer:

If you still get a 403 Forbidden after adding a user-agent, you may need to add more headers, such as referer:

headers = {
    'User-Agent': '...',
    'referer': 'https://...'
}

The headers can be found in the Network > Headers > Request Headers of the Developer Tools. (Press F12 to toggle it.)

answered Jul 9, 2019 at 5:44

Hansimov's user avatar

5

If You are the server’s owner/admin, and the accepted solution didn’t work for You, then try disabling CSRF protection (link to an SO answer).

I am using Spring (Java), so the setup requires You to make a SecurityConfig.java file containing:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure (HttpSecurity http) throws Exception {
        http.csrf().disable();
    }
    // ...
}

answered May 26, 2018 at 11:31

Aleksandar's user avatar

AleksandarAleksandar

3,1481 gold badge36 silver badges42 bronze badges

Summary

TL;DR: requests raises a 403 while requesting an authenticated Github API route, which otherwise succeeds while using curl/another python library like httpx

Was initially discovered in the ‘ghexport’ project; I did a reasonable amount of debugging and created this repo before submitting this issue to PyGithub, but thats a lot to look through, just leaving it here as context.

It’s been hard to reproduce, the creator of ghexport (where this was initially discovered) didn’t have the same issue, so I’m unsure of the exact reason

Expected Result

requests succeeds for the authenticated request

Actual Result

Request fails, with:

{'message': 'Must have push access to repository', 'documentation_url': 'https://docs.github.com/rest/reference/repos#get-repository-clones'}
failed
Traceback (most recent call last):
  File "/home/sean/Repos/pygithub_requests_error/minimal.py", line 47, in <module>
    main()
  File "/home/sean/Repos/pygithub_requests_error/minimal.py", line 44, in main
    make_request(requests.get, url, headers)
  File "/home/sean/Repos/pygithub_requests_error/minimal.py", line 31, in make_request
    resp.raise_for_status()
  File "/home/sean/.local/lib/python3.9/site-packages/requests/models.py", line 941, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://api.github.com/repos/seanbreckenridge/albums/traffic/clones

Reproduction Steps

Apologies if this is a bit too specific, but otherwise requests works great on my system and I can’t find any other way to reproduce this — Is a bit long as it requires an auth token

Go here and create a token with scopes like:

I’ve compared this to httpx, where it doesn’t fail:

#!/usr/bin/env python3

from typing import Callable, Any

import requests
import httpx


# extract status/status_code from the requests/httpx item
def extract_status(obj: Any) -> int:
    if hasattr(obj, "status"):
        return obj.status
    if hasattr(obj, "status_code"):
        return obj.status_code
    raise TypeError("unsupported request object")


def make_request(using_verb: Callable[..., Any], url: str, headers: Any) -> None:

    print("using", using_verb.__module__, using_verb.__qualname__, url)

    resp = using_verb(url, headers=headers)
    status = extract_status(resp)

    print(str(resp.json()))

    if status == 200:
        print("succeeded")
    else:
        print("failed")
        resp.raise_for_status()


def main():
    # see https://github.com/seanbreckenridge/pygithub_requests_error for token scopes
    auth_token = "put your auth token here"

    headers = {
        "Authorization": "token {}".format(auth_token),
        "User-Agent": "requests_error",
        "Accept": "application/vnd.github.v3+json",
    }

    # replace this with a URL you have access to
    url = "https://api.github.com/repos/seanbreckenridge/albums/traffic/clones"

    make_request(httpx.get, url, headers)
    make_request(requests.get, url, headers)


if __name__ == "__main__":
    main()

That outputs:

using httpx get https://api.github.com/repos/seanbreckenridge/albums/traffic/clones
{'count': 15, 'uniques': 10, 'clones': [{'timestamp': '2021-04-12T00:00:00Z', 'count': 1, 'uniques': 1}, {'timestamp': '2021-04-14T00:00:00Z', 'count': 1, 'uniques': 1}, {'timestamp': '2021-04-17T00:00:00Z', 'count': 1, 'uniques': 1}, {'timestamp': '2021-04-18T00:00:00Z', 'count': 2, 'uniques': 2}, {'timestamp': '2021-04-23T00:00:00Z', 'count': 9, 'uniques': 5}, {'timestamp': '2021-04-25T00:00:00Z', 'count': 1, 'uniques': 1}]}
succeeded
using requests.api get https://api.github.com/repos/seanbreckenridge/albums/traffic/clones
{'message': 'Must have push access to repository', 'documentation_url': 'https://docs.github.com/rest/reference/repos#get-repository-clones'}
failed
Traceback (most recent call last):
  File "/home/sean/Repos/pygithub_requests_error/minimal.py", line 48, in <module>
    main()
  File "/home/sean/Repos/pygithub_requests_error/minimal.py", line 45, in main
    make_request(requests.get, url, headers)
  File "/home/sean/Repos/pygithub_requests_error/minimal.py", line 32, in make_request
    resp.raise_for_status()
  File "/home/sean/.local/lib/python3.9/site-packages/requests/models.py", line 943, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://api.github.com/repos/seanbreckenridge/albums/traffic/clones

Another thing that may be useful as context is the pdb trace I did here, which was me stepping into where the request was made in PyGithub, and making all the requests manually using the computed url/headers. Fails when I use requests.get but httpx.get works fine:

> /home/sean/.local/lib/python3.8/site-packages/github/Requester.py(484)__requestEncode()
-> self.NEW_DEBUG_FRAME(requestHeaders)
(Pdb) n
> /home/sean/.local/lib/python3.8/site-packages/github/Requester.py(486)__requestEncode()
-> status, responseHeaders, output = self.__requestRaw(
(Pdb) w
  /home/sean/Repos/ghexport/export.py(109)<module>()
-> main()
  /home/sean/Repos/ghexport/export.py(84)main()
-> j = get_json(**params)
  /home/sean/Repos/ghexport/export.py(74)get_json()
-> return Exporter(**params).export_json()
  /home/sean/Repos/ghexport/export.py(60)export_json()
-> repo._requester.requestJsonAndCheck('GET', repo.url + '/traffic/' + f)
  /home/sean/.local/lib/python3.8/site-packages/github/Requester.py(318)requestJsonAndCheck()
-> *self.requestJson(
  /home/sean/.local/lib/python3.8/site-packages/github/Requester.py(410)requestJson()
-> return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode)
> /home/sean/.local/lib/python3.8/site-packages/github/Requester.py(486)__requestEncode()
-> status, responseHeaders, output = self.__requestRaw(
(Pdb) url
'/repos/seanbreckenridge/advent-of-code-2019/traffic/views'
(Pdb) requestHeaders
{'Authorization': 'token <MY TOKEN HERE>', 'User-Agent': 'PyGithub/Python'}
(Pdb) import requests
(Pdb) requests.get("https://api.github.com" + url, headers=requestHeaders).json()
{'message': 'Must have push access to repository', 'documentation_url': 'https://docs.github.com/rest/reference/repos#get-page-views'}
(Pdb) httpx.get("https://api.github.com" + url, headers=requestHeaders).json()
{'count': 0, 'uniques': 0, 'views': []}
(Pdb) httpx succeeded??

System Information

$ python -m requests.help
{
  "chardet": {
    "version": "3.0.4"
  },
  "cryptography": {
    "version": "3.4.7"
  },
  "idna": {
    "version": "2.10"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.9.3"
  },
  "platform": {
    "release": "5.11.16-arch1-1",
    "system": "Linux"
  },
  "pyOpenSSL": {
    "openssl_version": "101010bf",
    "version": "20.0.1"
  },
  "requests": {
    "version": "2.25.1"
  },
  "system_ssl": {
    "version": "101010bf"
  },
  "urllib3": {
    "version": "1.25.9"
  },
  "using_pyopenssl": true
}
$ pip freeze | grep -E 'requests|httpx'
httpx==0.16.1
requests==2.25.1

The urllib module can be used to make an HTTP request from a site, unlike the requests library, which is a built-in library. This reduces dependencies. In the following article, we will discuss why urllib.error.httperror: http error 403: forbidden occurs and how to resolve it.

What is a 403 error?

The 403 error pops up when a user tries to access a forbidden page or, in other words, the page they aren’t supposed to access. 403 is the HTTP status code that the webserver uses to denote the kind of problem that has occurred on the user or the server end. For instance, 200 is the status code for – ‘everything has worked as expected, no errors’. You can go through the other HTTP status code from here.

ModSecurity is a module that protects websites from foreign attacks. It checks whether the requests are being made from a user or from an automated bot. It blocks requests from known spider/bot agents who are trying to scrape the site. Since the urllib library uses something like python urllib/3.3.0 hence, it is easily detected as non-human and therefore gets blocked by mod security.

from urllib import request
from urllib.request import Request, urlopen

url = "https://www.gamefaqs.com"
request_site = Request(url)
webpage = urlopen(request_site).read()
print(webpage[:200])

http error 403: forbidden error returned

http error 403: forbidden error returned

ModSecurity blocks the request and returns an HTTP error 403: forbidden error if the request was made without a valid user agent. A user-agent is a header that permits a specific string which in turn allows network protocol peers to identify the following:

  • The Operating System, for instance, Windows, Linux, or macOS.
  • Websserver’s browser

Moreover, the browser sends the user agent to each and every website that you get connected to. The user-Agent field is included in the HTTP header when the browser gets connected to a website. The header field data differs for each browser.

Why do sites use security that sends 403 responses?

According to a survey, more than 50% of internet traffic comes from automated sources. Automated sources can be scrapers or bots. Therefore it gets necessary to prevent these attacks. Moreover, scrapers tend to send multiple requests, and sites have some rate limits. The rate limit dictates how many requests a user can make. If the user(here scraper) exceeds it, it gets some kind of error, for instance, urllib.error.httperror: http error 403: forbidden.

Resolving urllib.error.httperror: http error 403: forbidden?

This error is caused due to mod security detecting the scraping bot of the urllib and blocking it. Therefore, in order to resolve it, we have to include user-agent/s in our scraper. This will ensure that we can safely scrape the website without getting blocked and running across an error. Let’s take a look at two ways to avoid urllib.error.httperror: http error 403: forbidden.

Method 1: using user-agent

from urllib import request
from urllib.request import Request, urlopen

url = "https://www.gamefaqs.com"
request_site = Request(url, headers={"User-Agent": "Mozilla/5.0"})
webpage = urlopen(request_site).read()
print(webpage[:500])
  • In the code above, we have added a new parameter called headers which has a user-agent Mozilla/5.0. Details about the user’s device, OS, and browser are given by the webserver by the user-agent string. This prevents the bot from being blocked by the site.
  • For instance, the user agent string gives information to the server that you are using Brace browser and Linux OS on your computer. Thereafter, the server accordingly sends the information.

Using user-agent, error gets resolved

Using the user-agent, the error gets resolved.

Botocore.Exceptions.NoCredentialsError: Unable to Locate Credentials

Method 2: using Session object

There are times when even using user-agent won’t prevent the urllib.error.httperror: http error 403: forbidden. Then we can use the Session object of the request module. For instance:

from random import seed
import requests

url = "https://www.gamefaqs.com"
session_obj = requests.Session()
response = session_obj.get(url, headers={"User-Agent": "Mozilla/5.0"})

print(response.status_code)

The site could be using cookies as a defense mechanism against scraping. It’s possible the site is setting and requesting cookies to be echoed back as a defense against scraping, which might be against its policy.

The Session object is compatible with cookies.

Using Session object to resolve urllib.error

Using Session object to resolve urllib.error

Catching urllib.error.httperror

urllib.error.httperror can be caught using the try-except method. Try-except block can capture any exception, which can be hard to debug. For instance, it can capture exceptions like SystemExit and KeyboardInterupt. Let’s see how can we do this, for instance:

from urllib.request import Request, urlopen
from urllib.error import HTTPError

url = "https://www.gamefaqs.com"

try:
    request_site = Request(url)
    webpage = urlopen(request_site).read()
    print(webpage[:500])
except HTTPError as e:
    print("Error occured!")
    print(e)

Catching the error using the try-except

Catching the error using the try-except

[Resolved] NameError: Name _mysql is Not Defined

FAQs

How to fix the 403 error in the browser?

You can try the following steps in order to resolve the 403 error in the browser try refreshing the page, rechecking the URL, clearing the browser cookies, check your user credentials.

Why do scraping modules often get 403 errors?

Scrapers often don’t use headers while requesting information. This results in their detection by the mod security. Hence, scraping modules often get 403 errors.

Conclusion

In this article, we covered why and when urllib.error.httperror: http error 403: forbidden it can occur. Moreover, we looked at the different ways to resolve the error. We also covered the handling of this error.

Trending Now

  • “Other Commands Don’t Work After on_message” in Discord Bots

    “Other Commands Don’t Work After on_message” in Discord Bots

    February 5, 2023

  • Botocore.Exceptions.NoCredentialsError: Unable to Locate Credentials

    Botocore.Exceptions.NoCredentialsError: Unable to Locate Credentials

    by Rahul Kumar YadavFebruary 5, 2023

  • [Resolved] NameError: Name _mysql is Not Defined

    [Resolved] NameError: Name _mysql is Not Defined

    by Rahul Kumar YadavFebruary 5, 2023

  • Best Ways to Implement Regex New Line in Python

    Best Ways to Implement Regex New Line in Python

    by Rahul Kumar YadavFebruary 5, 2023

Написал мини-crawler, парсящий страницу на предмет картинок.
url картинок парсит правильно, и до тех пор, пока картинки находятся на том же сервере — скачивает их нормально. Но стоит только попасться ссылке на AmazonAWS — получаем

 requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://s3.amazonaws.com/blahblahblah

Курение stackoverflow выдало ответ “проверьте разницу во времени с сервером”, но это ерунда, ибо у меня в браузере она же открывается нормально.

 This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>007FD4D940971B9B</RequestId>
<HostId>
L8n7l3ps8dFrVwSoIDOkL5WvJ1vSTS8QnVyBXxMQDeAU/ebqKSEFrdVjDG8DI8LHfe2dNS1aYLg=
</HostId>
</Error>

Очевидно, что амазон что-то просит, но я не понимаю, что именно… куки? request code?

 <!DOCTYPE doctype html>
<html lang="en-US" prefix="og: http://ogp.me/ns#">
 <head>
  <link href="//fonts.googleapis.com/css?family=Fjalla+One%3A400%7CJosefin+Sans%3A600%2C300italic%7CSource+Sans+Pro%3A300%7CArapey%3A400%7CSatisfy%3A400%7CJosefin+Slab" rel="stylesheet"/>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" name="viewport"/>
  <link href="" rel="shortcut icon"/>
  <title>
   'Ocean Flavor' by Igor Koshelev - VOLO Daily
  </title>
  <script>
   (window.gaDevIds=window.gaDevIds||[]).push('5CDcaG');
  </script>
  <link href="https://www.volodaily.com/ocean-flavor-by-igor-koshelev/" rel="canonical"/>
  <meta content="en_US" property="og:locale"/>
  <meta content="article" property="og:type"/>
  <meta content="'Ocean Flavor' by Igor Koshelev - VOLO Daily" property="og:title"/>
  <meta content="https://www.volodaily.com/ocean-flavor-by-igor-koshelev/" property="og:url"/>
  <meta content="VOLO Daily" property="og:site_name"/>
  <meta content="http://www.facebook.com/volart" property="article:publisher"/>
  <meta content="boobs" property="article:tag"/>
  <meta content="Flirt" property="article:tag"/>
  <meta content="Igor Koshelev" property="article:tag"/>
  <meta content="Ocean" property="article:tag"/>
  <meta content="THE BEST OF VOLO SOCIAL" property="article:section"/>
  <meta content="2016-05-03T18:00:12+00:00" property="article:published_time"/>
  <meta content="2016-05-03T16:40:49+00:00" property="article:modified_time"/>
  <meta content="2016-05-03T16:40:49+00:00" property="og:updated_time"/>
  <meta content="https://s3.amazonaws.com/dailyvolo/wp-content/uploads/2016/05/03164021/oceanflavor-by-Igor-Koshelev.jpg" property="og:image"/>
  <meta content="718" property="og:image:width"/>
  <meta content="1080" property="og:image:height"/>
  <meta content="summary" name="twitter:card"/>
  <meta content="'Ocean Flavor' by Igor Koshelev - VOLO Daily" name="twitter:title"/>
  <meta content="https://s3.amazonaws.com/dailyvolo/wp-content/uploads/2016/05/03164021/oceanflavor-by-Igor-Koshelev.jpg" name="twitter:image"/>
  <link href="//maxcdn.bootstrapcdn.com" rel="dns-prefetch"/>
  <link href="//fonts.googleapis.com" rel="dns-prefetch"/>
  <link href="//s.w.org" rel="dns-prefetch"/>
  <link href="//netdna.bootstrapcdn.com" rel="dns-prefetch"/>
  <link href="//www.google.com" rel="dns-prefetch"/>
  <link href="//static.xx.fbcdn.net" rel="dns-prefetch"/>
  <link href="//connect.facebook.net" rel="dns-prefetch"/>
  <link href="//www.gstatic.com" rel="dns-prefetch"/>
  <link href="https://www.volodaily.com/feed/" rel="alternate" title="VOLO Daily » Feed" type="application/rss+xml"/>
  <link href="https://www.volodaily.com/comments/feed/" rel="alternate" title="VOLO Daily » Comments Feed" type="application/rss+xml"/>
  <link href="https://www.volodaily.com/ocean-flavor-by-igor-koshelev/feed/" rel="alternate" title="VOLO Daily » ‘Ocean Flavor’ by Igor Koshelev Comments Feed" type="application/rss+xml"/>
  <script type="text/javascript">
   window._wpemojiSettings = {"baseUrl":"https://s.w.org/images/core/emoji/2.2.1/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/2.2.1/svg/","svgExt":".svg","source":{"concatemoji":"https://www.volodaily.com/wp-includes/js/wp-emoji-release.min.js?ver=4.7.2"}};
			!function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),!(j.toDataURL().length<3e3)&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,65039,8205,55356,57096),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,55356,57096),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55357,56425,55356,57341,8205,55357,56507),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55357,56425,55356,57341,55357,56507),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
  </script>
  <style type="text/css">
   img.wp-smiley,img.emoji{display:inline!important;border:none!important;box-shadow:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-0.1em!important;background:none!important;padding:0!important;}
  </style>
  <link href="https://www.volodaily.com/wp-content/plugins/wysija-newsletters/css/validationEngine.jquery.css?ver=2.7.7" id="validate-engine-css-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-includes/css/dashicons.min.css?ver=4.7.2" id="dashicons-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-includes/css/jquery-ui-dialog.min.css?ver=4.7.2" id="wp-jquery-ui-dialog-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/css/css/font-awesome.min.css?ver=4.7.2" id="xoouserultra_font_awesome-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/templates/basic/css/default.css?ver=4.7.2" id="xoouserultra_style-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/templates/basic/css/style-profile.css?ver=4.7.2" id="xoouserultra_profile_advance-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/users-ultra-pro//templates/basic/css/front-styles.css?ver=4.7.2" id="xoouserultra_frontend_css-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/js/qtip/jquery.qtip.min.css?ver=4.7.2" id="qtip-css" media="" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/js/lightbox/css/lightbox.css?ver=4.7.2" id="xoouserultra_lightbox_css-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/cardoza-facebook-like-box/cardozafacebook.css?ver=4.7.2" id="cfblbcss-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/custom-facebook-feed/css/cff-style.css?ver=2.4.5" id="cff-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css?ver=4.5.0" id="cff-font-awesome-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/easy-video-player/lib/skin/all-skins.css?ver=4.7.2" id="flowplayer-css-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/i-recommend-this/css/dot-irecommendthis-heart.css?ver=4.7.2" id="dot-irecommendthis-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/instagram-feed-pro/css/sb-instagram.css?ver=2.3" id="sb_instagram_styles-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css?ver=4.6.3" id="sbi-font-awesome-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/responsive-lightbox/assets/swipebox/css/swipebox.min.css?ver=1.6.12" id="responsive-lightbox-swipebox-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/revslider/public/assets/css/settings.css?ver=5.3.1.5" id="rs-plugin-settings-css" media="all" rel="stylesheet" type="text/css"/>
  <style id="rs-plugin-settings-inline-css" type="text/css">
   .tp-caption a{color:#e05100;text-shadow:none;text-decoration:none;-webkit-transition:all 0.2s ease-out;-moz-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;-ms-transition:all 0.2s ease-out}.tp-caption a:hover{color:#ffa902}
  </style>
  <link href="https://www.volodaily.com/wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css?ver=2.6.14" id="woocommerce-layout-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css?ver=2.6.14" id="woocommerce-smallscreen-css" media="only screen and (max-width: 768px)" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/woocommerce/assets/css/woocommerce.css?ver=2.6.14" id="woocommerce-general-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/popups/public/assets/css/public.css?ver=1.7.0.1" id="spu-public-css-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/themes/salient/css/font-awesome.min.css?ver=4.7.2" id="font-awesome-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/themes/salient/style.css?ver=4.7.2" id="parent-style-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-includes/js/mediaelement/mediaelementplayer.min.css?ver=2.22.0" id="mediaelement-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=4.7.2" id="wp-mediaelement-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/themes/salient/css/rgs.css?ver=6.0.1" id="rgs-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/themes/salient-child/style.css?ver=7.5" id="main-styles-css" media="all" rel="stylesheet" type="text/css"/>
  <!--[if lt IE 9]>
<link rel='stylesheet' id='nectar-ie8-css'  href='https://www.volodaily.com/wp-content/themes/salient/css/ie8.css?ver=4.7.2' type='text/css' media='all' />
<![endif]-->
  <link href="https://www.volodaily.com/wp-content/themes/salient/css/responsive.css?ver=7.5" id="responsive-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/themes/salient/css/woocommerce.css?ver=7.5" id="woocommerce-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/cj-membership-modules/framework/assets/frontend/css/cj-global.css?ver=1.6.8" id="cj-frontend-css-css" media="screen" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/js_composer_salient/assets/css/js_composer.min.css?ver=4.11.2" id="js_composer_front-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/popups-premium/public/assets/css/public.css?ver=1.8.0.1" id="spup-public-css-css" media="all" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/cj-membership-modules/framework/assets/admin/helpers/jquery-ui/css/smoothness/jquery-ui.min.css?ver=1.6.8" id="cjfm-jquery-ui-css" media="" rel="stylesheet" type="text/css"/>
  <link href="https://www.volodaily.com/wp-content/plugins/cj-membership-modules/cjfm-custom.css?ver=1.6.8" id="cjfm_custom_css-css" media="" rel="stylesheet" type="text/css"/>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/jquery.js?ver=1.12.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/core.min.js?ver=1.11.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/widget.min.js?ver=1.11.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/position.min.js?ver=1.11.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/mouse.min.js?ver=1.11.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/resizable.min.js?ver=1.11.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/draggable.min.js?ver=1.11.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/button.min.js?ver=1.11.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/dialog.min.js?ver=1.11.4" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/js/expandible.js" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/js/uultra-front.js" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-includes/js/plupload/plupload.full.min.js?ver=2.1.8" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/js/lightbox/js/lightbox-2.6.min.js?ver=4.7.2" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/js/languages/jquery.validationEngine-en.js?ver=4.7.2" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/js/jquery.validationEngine.js?ver=4.7.2" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/cardoza-facebook-like-box/cardozafacebook.js?ver=4.7.2" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/easy-video-player/lib/flowplayer.min.js?ver=4.7.2" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/responsive-lightbox/assets/swipebox/js/jquery.swipebox.min.js?ver=1.6.12" type="text/javascript">
  </script>
  <script type="text/javascript">
   /* <![CDATA[ */
var rlArgs = {"script":"swipebox","selector":"lightbox","customEvents":"","activeGalleries":"1","animation":"1","hideCloseButtonOnMobile":"0","removeBarsOnMobile":"0","hideBars":"1","hideBarsDelay":"5000","videoMaxWidth":"1080","useSVG":"1","loopAtEnd":"0"};
/* ]]> */
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/responsive-lightbox/js/front.js?ver=1.6.12" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/revslider/public/assets/js/jquery.themepunch.tools.min.js?ver=5.3.1.5" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/plugins/revslider/public/assets/js/jquery.themepunch.revolution.min.js?ver=5.3.1.5" type="text/javascript">
  </script>
  <script src="https://www.volodaily.com/wp-content/themes/salient/js/modernizr.js?ver=2.6.2" type="text/javascript">
  </script>
  <link href="https://www.volodaily.com/wp-json/" rel="https://api.w.org/"/>
  <link href="https://www.volodaily.com/xmlrpc.php?rsd" rel="EditURI" title="RSD" type="application/rsd+xml"/>
  <link href="https://www.volodaily.com/wp-includes/wlwmanifest.xml" rel="wlwmanifest" type="application/wlwmanifest+xml"/>
  <meta content="WordPress 4.7.2" name="generator"/>
  <meta content="WooCommerce 2.6.14" name="generator"/>
  <link href="https://www.volodaily.com/?p=118750" rel="shortlink"/>
  <link href="https://www.volodaily.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.volodaily.com%2Focean-flavor-by-igor-koshelev%2F" rel="alternate" type="application/json+oembed"/>
  <link href="https://www.volodaily.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.volodaily.com%2Focean-flavor-by-igor-koshelev%2F&amp;format=xml" rel="alternate" type="text/xml+oembed"/>
  <script>
   flowplayer.conf.embed = false;flowplayer.conf.keyboard = false;
  </script>
  <script type="text/javascript">
   var ajaxurl = "https://www.volodaily.com/wp-admin/admin-ajax.php";
  </script>
  <script id="wccp_pro_disable_selection" type="text/javascript">
   //<![CDATA[
var image_save_msg='You cant save images!';
	var no_menu_msg='Context menu disabled!';
	var smessage = "<b>Alert:</b> Content is protected !!";
function disable_hot_keys(e)
{
	var key2;
	
		if(window.event)
			  key2 = window.event.keyCode;     //IE
		else
			key2 = e.which;     //firefox (97)
	if (key2 == 123)//F12 chrome developer key disable
		{
			show_wccp_pro_message('You are not allowed to print or save this page!!');
			return false;
		}
		
	var elemtype = e.target.tagName;
	
	elemtype = elemtype.toUpperCase();
	
	if (elemtype == "TEXT" || elemtype == "TEXTAREA" || elemtype == "INPUT" || elemtype == "PASSWORD" || elemtype == "SELECT")
	{
		elemtype = 'TEXT';
	}
	
	if (e.ctrlKey)
	{
		var key;
    
		if(window.event)
			  key = window.event.keyCode;     //IE
		else
			key = e.which;     //firefox (97)
		//if (key != 17) alert(key);
		if (elemtype!= 'TEXT' && (key == 97 || key == 65 || key == 67 || key == 99 || key == 88 || key == 120 || key == 26 || key == 85  || key == 86 || key == 43))
		{
			 show_wccp_pro_message('<b>Alert:</b> You are not allowed to copy content or view source');
			 return false;
		}
		
				
		var ctrl_s_option = 'checked';
		
		if (key == 83 && ctrl_s_option == 'checked')//Ctrl+s 83
		{
			show_wccp_pro_message('You are not allowed to print or save this page!!');
			return false;
		}		
				var ctrl_p_option = 'checked';
			 
		if (key == 80 && ctrl_p_option == 'checked')//Ctrl+p 80
		{
			show_wccp_pro_message('You are not allowed to print or save this page!!');
			return false;
		}		
	else
		return true;
    }
}
function disable_copy(e)
{
	//disable context menu when shift + right click is pressed
	var shiftPressed = 0;
	var evt = e?e:window.event;
	if (parseInt(navigator.appVersion)>3) {
		if (document.layers && navigator.appName=="Netscape")
			shiftPressed=(evt.modifiers-0>3);
		else
			shiftPressed=evt.shiftKey;
		if (shiftPressed) {
			if (smessage !== "") show_wccp_pro_message(smessage);
			var isFirefox = typeof InstallTrigger !== 'undefined';   // Firefox 1.0+
			if (isFirefox) {alert (smessage);}
			return false;
		}
	}
	
	if(e.which === 2 ){
	var clickedTag_a = (e==null) ? event.srcElement.tagName : e.target.tagName;
	   show_wccp_pro_message(smessage);
       return false;
    }
	var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
	var elemtype = e.target.nodeName;
	elemtype = elemtype.toUpperCase();
	var checker_IMG = 'checked';
	if (elemtype == "IMG" && checker_IMG == 'checked' && e.detail == 2) {show_wccp_pro_message(alertMsg_IMG);return false;}
    if (elemtype != "TEXT" && elemtype != "TEXTAREA" && elemtype != "INPUT" && elemtype != "PASSWORD" && elemtype != "SELECT" && elemtype != "EMBED")
	{
		if (smessage !== "" && e.detail == 2)
			show_wccp_pro_message(smessage);
		
		if (isSafari)
			return true;
		else
			return false;
	}	
}
function disable_copy_ie()
{
	var elemtype = window.event.srcElement.nodeName;
	elemtype = elemtype.toUpperCase();
	if (elemtype == "IMG") {show_wccp_pro_message(alertMsg_IMG);return false;}
	if (elemtype != "TEXT" && elemtype != "TEXTAREA" && elemtype != "INPUT" && elemtype != "PASSWORD" && elemtype != "SELECT" && elemtype != "OPTION" && elemtype != "EMBED")
	{
		//if (smessage !== "") show_wccp_pro_message(smessage);
		return false;
	}
}	
function reEnable()
{
	return true;
}
document.onkeydown = disable_hot_keys;
document.onselectstart = disable_copy_ie;
if(navigator.userAgent.indexOf('MSIE')==-1)
{
	document.onmousedown = disable_copy;
	document.onclick = reEnable;
}
function disableSelection(target)
{
    //For IE This code will work
    if (typeof target.onselectstart!="undefined")
    target.onselectstart = disable_copy_ie;
    
    //For Firefox This code will work
    else if (typeof target.style.MozUserSelect!="undefined")
    {target.style.MozUserSelect="none";}
    
    //All other  (ie: Opera) This code will work
    else
    target.onmousedown=function(){return false}
    target.style.cursor = "default";
}
//Calling the JS function directly just after body load
window.onload = function(){disableSelection(document.body);};
//]]>
  </script>
  <script type="text/javascript">
   window.addEventListener("keyup", dealWithPrintScrKey, false);
	
	function dealWithPrintScrKey(e) 
	{
		// gets called when any of the keyboard events are overheard
		var prtsc = e.keyCode||e.charCode;
		if (prtsc == 44)
		{
			document.getElementById("prntscr_disable_field").className = "showme";
			
			var copyDiv = document.querySelector('#prntscr_disable_field');
			
			copyDiv.select();
			
			document.execCommand('Copy');
			var urlField = document.querySelector('#prntscr_disable_field');
			var range = document.createRange();
			// set the Node to select the "range"
			range.selectNode(urlField);
			// add the Range to the set of window selections
			window.getSelection().addRange(range);
			// execute 'copy', can't 'cut' in this case
			document.execCommand('copy');
			
			//window.getSelection().removeAllRanges();
			document.getElementById("prntscr_disable_field").className = "hideme";
			show_wccp_pro_message('You are not allowed to print or save this page!!');
		}
	}
  </script>
  <style>
   @media print {body *{display:none!important;}body:after{content:"WARNING:  UNAUTHORIZED USE AND/OR DUPLICATION OF THIS MATERIAL WITHOUT EXPRESS AND WRITTEN PERMISSION FROM THIS SITE'S AUTHOR AND/OR OWNER IS STRICTLY PROHIBITED! CONTACT US FOR FURTHER CLARIFICATION.  ";}}
  </style>
  <script id="wccp_pro_disable_Right_Click" type="text/javascript">
   //<![CDATA[
	document.ondragstart = function() { return false;}
	    function nocontext(e) {
	    	var exception_tags = 'NOTAG,';
	        var clickedTag = (e==null) ? event.srcElement.tagName : e.target.tagName;
	        //alert(clickedTag);
	        var checker = 'checked';
	        if ((clickedTag == "IMG" || clickedTag == "PROTECTEDIMGDIV") && checker == 'checked') {
	            if (alertMsg_IMG != "")show_wccp_pro_message(alertMsg_IMG);
	            return false;
	        }else {exception_tags = exception_tags + 'IMG,';}
			
			checker = '';
			if ((clickedTag == "VIDEO" || clickedTag == "EMBED") && checker == 'checked') {
	            if (alertMsg_VIDEO != "")show_wccp_pro_message(alertMsg_VIDEO);
	            return false;
	        }else {exception_tags = exception_tags + 'VIDEO,EMBED,';}
	        
	        checker = 'checked';
	        if ((clickedTag == "A" || clickedTag == "TIME") && checker == 'checked') {
	            if (alertMsg_A != "")show_wccp_pro_message(alertMsg_A);
	            return false;
	        }else {exception_tags = exception_tags + 'A,';}
	        
	        checker = 'checked';
	        if ((clickedTag == "P" || clickedTag == "B" || clickedTag == "FONT" ||  clickedTag == "LI" || clickedTag == "UL" || clickedTag == "STRONG" || clickedTag == "OL" || clickedTag == "BLOCKQUOTE" || clickedTag == "TD" || clickedTag == "SPAN" || clickedTag == "EM" || clickedTag == "SMALL" || clickedTag == "I" || clickedTag == "BUTTON") && checker == 'checked') {
	            if (alertMsg_PB != "")show_wccp_pro_message(alertMsg_PB);
	            return false;
	        }else {exception_tags = exception_tags + 'P,B,FONT,LI,UL,STRONG,OL,BLOCKQUOTE,TD,SPAN,EM,SMALL,I,BUTTON,';}
	        
	        checker = 'checked';
	        if ((clickedTag == "INPUT" || clickedTag == "PASSWORD") && checker == 'checked') {
	            if (alertMsg_INPUT != "")show_wccp_pro_message(alertMsg_INPUT);
	            return false;
	        }else {exception_tags = exception_tags + 'INPUT,PASSWORD,';}
	        
	        checker = 'checked';
	        if ((clickedTag == "H1" || clickedTag == "H2" || clickedTag == "H3" || clickedTag == "H4" || clickedTag == "H5" || clickedTag == "H6" || clickedTag == "ASIDE" || clickedTag == "NAV") && checker == 'checked') {
	            if (alertMsg_H != "")show_wccp_pro_message(alertMsg_H);
	            return false;
	        }else {exception_tags = exception_tags + 'H1,H2,H3,H4,H5,H6,';}
	        
	        checker = 'checked';
	        if (clickedTag == "TEXTAREA" && checker == 'checked') {
	            if (alertMsg_TEXTAREA != "")show_wccp_pro_message(alertMsg_TEXTAREA);
	            return false;
	        }else {exception_tags = exception_tags + 'TEXTAREA,';}
	        
	        checker = 'checked';
	        if ((clickedTag == "DIV" || clickedTag == "BODY" || clickedTag == "HTML" || clickedTag == "ARTICLE" || clickedTag == "SECTION" || clickedTag == "NAV" || clickedTag == "HEADER" || clickedTag == "FOOTER") && checker == 'checked') {
	            if (alertMsg_EmptySpaces != "")show_wccp_pro_message(alertMsg_EmptySpaces);
	            return false;
	        }
	        else
	        {
				//show_wccp_pro_message(exception_tags.indexOf(clickedTag));
	        	if (exception_tags.indexOf(clickedTag)!=-1)
	        	{
		        	return true;
		        }
	        	else
	        	return false;
	        }
	    }
	    var alertMsg_IMG = "<b>Alert:</b> Protected image";
	    var alertMsg_A = "<b>Alert:</b> This link is protected";
	    var alertMsg_PB = "<b>Alert:</b> Right click on text is disabled";
	    var alertMsg_INPUT = "<b>Alert:</b> Right click is disabled";
	    var alertMsg_H = "<b>Alert:</b> Right click on headlines is disabled";
	    var alertMsg_TEXTAREA = "<b>Alert:</b> Right click is disabled";
	    var alertMsg_EmptySpaces = "<b>Alert:</b> Right click on empty spaces is disabled";
		var alertMsg_VIDEO = "<b>Alert:</b> Right click on videos is disabled";
	    document.oncontextmenu = nocontext;
	//]]>
  </script>
  <style>
   .cover-container{border:1px solid #DDDDDD;width:100%;height:100%;position:relative;}.glass-cover{float:left;position:relative;left:0px;top:0px;z-index:1000;background-color:#92AD40;padding:5px;color:#FFFFFF;font-weight:bold;}.unselectable{-moz-user-select:none;-webkit-user-select:none;cursor:default;}html{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}img{-webkit-touch-callout:none;-webkit-user-select:none;}
  </style>
  <script id="wccp_pro_css_disable_selection" type="text/javascript">
   var e = document.getElementsByTagName('body')[0];
	if(e)
	{
		e.setAttribute('unselectable',on);
	}
  </script>
  <style>
   <!-- Start your code after this line --><!-- End your code before this line -->
  </style>
  <style type="text/css">
   body a{color:#e8144d;}#header-outer:not([data-lhe="animated_underline"]) header#top nav>ul>li>a:hover,#header-outer:not([data-lhe="animated_underline"]) header#top nav .sf-menu>li.sfHover>a,header#top nav>ul>li.button_bordered>a:hover,#header-outer:not([data-lhe="animated_underline"]) header#top nav .sf-menu li.current-menu-item>a,header#top nav .sf-menu li.current_page_item>a .sf-sub-indicator i,header#top nav .sf-menu li.current_page_ancestor>a .sf-sub-indicator i,#header-outer:not([data-lhe="animated_underline"]) header#top nav .sf-menu li.current_page_ancestor>a,#header-outer:not([data-lhe="animated_underline"]) header#top nav .sf-menu li.current-menu-ancestor>a,#header-outer:not([data-lhe="animated_underline"]) header#top nav .sf-menu li.current_page_item>a,body header#top nav .sf-menu li.current_page_item>a .sf-sub-indicator [class^="icon-"],header#top nav .sf-menu li.current_page_ancestor>a .sf-sub-indicator [class^="icon-"],.sf-menu li ul li.sfHover>a .sf-sub-indicator [class^="icon-"],#header-outer:not(.transparent) #social-in-menu a i:after,ul.sf-menu>li>a:hover>.sf-sub-indicator i,ul.sf-menu>li>a:active>.sf-sub-indicator i,ul.sf-menu>li.sfHover>a>.sf-sub-indicator i,.sf-menu ul li.current_page_item>a,.sf-menu ul li.current-menu-ancestor>a,.sf-menu ul li.current_page_ancestor>a,.sf-menu ul a:focus,.sf-menu ul a:hover,.sf-menu ul a:active,.sf-menu ul li:hover>a,.sf-menu ul li.sfHover>a,.sf-menu li ul li a:hover,.sf-menu li ul li.sfHover>a,#footer-outer a:hover,.recent-posts .post-header a:hover,article.post .post-header a:hover,article.result a:hover,article.post .post-header h2 a,.single article.post .post-meta a:hover,.comment-list .comment-meta a:hover,label span,.wpcf7-form p span,.icon-3x[class^="icon-"],.icon-3x[class*=" icon-"],.icon-tiny[class^="icon-"],body .circle-border,article.result .title a,.home .blog-recent .col .post-header a:hover,.home .blog-recent .col .post-header h3 a,#single-below-header a:hover,header#top #logo:hover,.sf-menu>li.current_page_ancestor>a>.sf-sub-indicator [class^="icon-"],.sf-menu>li.current-menu-ancestor>a>.sf-sub-indicator [class^="icon-"],body #mobile-menu li.open>a [class^="icon-"],.pricing-column h3,.pricing-table[data-style="flat-alternative"] .pricing-column.accent-color h4,.pricing-table[data-style="flat-alternative"] .pricing-column.accent-color .interval,.comment-author a:hover,.project-attrs li i,#footer-outer #copyright li a i:hover,.col:hover>[class^="icon-"].icon-3x.accent-color.alt-style.hovered,.col:hover>[class*=" icon-"].icon-3x.accent-color.alt-style.hovered,#header-outer .widget_shopping_cart .cart_list a,.woocommerce .star-rating,.woocommerce-page table.cart a.remove,.woocommerce form .form-row .required,.woocommerce-page form .form-row .required,body #header-secondary-outer #social a:hover i,.woocommerce ul.products li.product .price,body .twitter-share:hover i,.twitter-share.hovered i,body .linkedin-share:hover i,.linkedin-share.hovered i,body .google-plus-share:hover i,.google-plus-share.hovered i,.pinterest-share:hover i,.pinterest-share.hovered i,.facebook-share:hover i,.facebook-share.hovered i,.woocommerce-page ul.products li.product .price,.nectar-milestone .number.accent-color,header#top nav>ul>li.megamenu>ul>li>a:hover,header#top nav>ul>li.megamenu>ul>li.sfHover>a,body #portfolio-nav a:hover i,span.accent-color,.nectar-love:hover i,.nectar-love.loved i,.portfolio-items .nectar-love:hover i,.portfolio-items .nectar-love.loved i,body .hovered .nectar-love i,header#top nav ul #search-btn a:hover span,header#top nav ul .slide-out-widget-area-toggle a:hover span,#search-outer #search #close a span:hover,.carousel-wrap[data-full-width="true"] .carousel-heading a:hover i,#search-outer .ui-widget-content li:hover a .title,#search-outer .ui-widget-content .ui-state-hover .title,#search-outer .ui-widget-content .ui-state-focus .title,.portfolio-filters-inline .container ul li a.active,body [class^="icon-"].icon-default-style,.svg-icon-holder[data-color="accent-color"],.team-member a.accent-color:hover,.ascend .comment-list .reply a,.wpcf7-form .wpcf7-not-valid-tip,.text_on_hover.product .add_to_cart_button,.blog-recent[data-style="minimal"] .col>span,.blog-recent[data-style="title_only"] .col:hover .post-header .title,.woocommerce-checkout-review-order-table .product-info .amount,.tabbed[data-style="minimal"]>ul li a.active-tab,.masonry.classic_enhanced article.post .post-meta a:hover i,.masonry.classic_enhanced article.post .post-meta .icon-salient-heart-2.loved,.single #single-meta ul li:not(.meta-share-count):hover i,.single #single-meta ul li:not(.meta-share-count):hover a,.single #single-meta ul li:not(.meta-share-count):hover span,.single #single-meta ul li.meta-share-count .nectar-social a:hover i,#project-meta #single-meta ul li>a,#project-meta ul li.meta-share-count .nectar-social a:hover i,#project-meta ul li:not(.meta-share-count):hover i,#project-meta ul li:not(.meta-share-count):hover span,div[data-style="minimal"] .toggle:hover h3 a,div[data-style="minimal"] .toggle.open h3 a,.nectar-icon-list[data-icon-style="border"][data-icon-color="accent-color"] .list-icon-holder[data-icon_type="numerical"] span,.nectar-icon-list[data-icon-color="accent-color"][data-icon-style="border"] .content h4{color:#e8144d!important;}.col:not(#post-area):not(.span_12):not(#sidebar):hover [class^="icon-"].icon-3x.accent-color.alt-style.hovered,body .col:not(#post-area):not(.span_12):not(#sidebar):hover a [class*=" icon-"].icon-3x.accent-color.alt-style.hovered,.ascend #header-outer:not(.transparent) .cart-outer:hover .cart-menu-wrap:not(.has_products) .icon-salient-cart{color:#e8144d!important;}.orbit-wrapper div.slider-nav span.right,.orbit-wrapper div.slider-nav span.left,.flex-direction-nav a,.jp-play-bar,.jp-volume-bar-value,.jcarousel-prev:hover,.jcarousel-next:hover,.portfolio-items .col[data-default-color="true"] .work-item:not(.style-3) .work-info-bg,.portfolio-items .col[data-default-color="true"] .bottom-meta,.portfolio-filters a,.portfolio-filters #sort-portfolio,.project-attrs li span,.progress li span,.nectar-progress-bar span,#footer-outer #footer-widgets .col .tagcloud a:hover,#sidebar .widget .tagcloud a:hover,article.post .more-link span:hover,#fp-nav.tooltip ul li .fp-tooltip .tooltip-inner,article.post.quote .post-content .quote-inner,article.post.link .post-content .link-inner,#pagination .next a:hover,#pagination .prev a:hover,.comment-list .reply a:hover,input[type=submit]:hover,input[type="button"]:hover,#footer-outer #copyright li a.vimeo:hover,#footer-outer #copyright li a.behance:hover,.toggle.open h3 a,.tabbed>ul li a.active-tab,[class*=" icon-"],.icon-normal,.bar_graph li span,.nectar-button[data-color-override="false"].regular-button,.nectar-button.tilt.accent-color,body .swiper-slide .button.transparent_2 a.primary-color:hover,#footer-outer #footer-widgets .col input[type="submit"],.carousel-prev:hover,.carousel-next:hover,body .products-carousel .carousel-next:hover,body .products-carousel .carousel-prev:hover,.blog-recent .more-link span:hover,.post-tags a:hover,.pricing-column.highlight h3,.pricing-table[data-style="flat-alternative"] .pricing-column.highlight h3 .highlight-reason,.pricing-table[data-style="flat-alternative"] .pricing-column.accent-color:before,#to-top:hover,#to-top.dark:hover,body[data-button-style="rounded"] #to-top:after,#pagination a.page-numbers:hover,#pagination span.page-numbers.current,.single-portfolio .facebook-share a:hover,.single-portfolio .twitter-share a:hover,.single-portfolio .pinterest-share a:hover,.single-post .facebook-share a:hover,.single-post .twitter-share a:hover,.single-post .pinterest-share a:hover,.mejs-controls .mejs-time-rail .mejs-time-current,.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current,.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current,article.post.quote .post-content .quote-inner,article.post.link .post-content .link-inner,article.format-status .post-content .status-inner,article.post.format-aside .aside-inner,body #header-secondary-outer #social li a.behance:hover,body #header-secondary-outer #social li a.vimeo:hover,#sidebar .widget:hover [class^="icon-"].icon-3x,.woocommerce-page div[data-project-style="text_on_hover"] .single_add_to_cart_button,article.post.quote .content-inner .quote-inner .whole-link,.masonry.classic_enhanced article.post.quote.wide_tall .post-content a:hover .quote-inner,.masonry.classic_enhanced article.post.link.wide_tall .post-content a:hover .link-inner,.iosSlider .prev_slide:hover,.iosSlider .next_slide:hover,body [class^="icon-"].icon-3x.alt-style.accent-color,body [class*=" icon-"].icon-3x.alt-style.accent-color,#slide-out-widget-area,#slide-out-widget-area-bg.fullscreen,#slide-out-widget-area-bg.fullscreen-alt .bg-inner,#header-outer .widget_shopping_cart a.button,body[data-button-style="rounded"] .wpb_wrapper .twitter-share:before,body[data-button-style="rounded"] .wpb_wrapper .twitter-share.hovered:before,body[data-button-style="rounded"] .wpb_wrapper .facebook-share:before,body[data-button-style="rounded"] .wpb_wrapper .facebook-share.hovered:before,body[data-button-style="rounded"] .wpb_wrapper .google-plus-share:before,body[data-button-style="rounded"] .wpb_wrapper .google-plus-share.hovered:before,body[data-button-style="rounded"] .wpb_wrapper .nectar-social:hover>*:before,body[data-button-style="rounded"] .wpb_wrapper .pinterest-share:before,body[data-button-style="rounded"] .wpb_wrapper .pinterest-share.hovered:before,body[data-button-style="rounded"] .wpb_wrapper .linkedin-share:before,body[data-button-style="rounded"] .wpb_wrapper .linkedin-share.hovered:before,#header-outer a.cart-contents .cart-wrap span,.swiper-slide .button.solid_color a,.swiper-slide .button.solid_color_2 a,.portfolio-filters,button[type=submit]:hover,#buddypress button:hover,#buddypress a.button:hover,#buddypress ul.button-nav li.current a,header#top nav ul .slide-out-widget-area-toggle a:hover i.lines,header#top nav ul .slide-out-widget-area-toggle a:hover i.lines:after,header#top nav ul .slide-out-widget-area-toggle a:hover i.lines:before,header#top nav ul .slide-out-widget-area-toggle[data-icon-animation="simple-transform"] a:hover i.lines-button:after,#buddypress a.button:focus,.text_on_hover.product a.added_to_cart,.woocommerce div.product .woocommerce-tabs .full-width-content ul.tabs li a:after,.woocommerce div[data-project-style="text_on_hover"] .cart .quantity input.minus,.woocommerce div[data-project-style="text_on_hover"] .cart .quantity input.plus,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce .span_4 input[type="submit"].checkout-button,.portfolio-filters-inline[data-color-scheme="accent-color"],body[data-fancy-form-rcs="1"] [type="radio"]:checked+label:after,.select2-container .select2-choice:hover,.select2-dropdown-open .select2-choice,header#top nav>ul>li.button_solid_color>a:before,#header-outer.transparent header#top nav>ul>li.button_solid_color>a:before,.tabbed[data-style="minimal"]>ul li a:after,.twentytwenty-handle,.twentytwenty-horizontal .twentytwenty-handle:before,.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before,.twentytwenty-vertical .twentytwenty-handle:after,.masonry.classic_enhanced .posts-container article .meta-category a:hover,.masonry.classic_enhanced .posts-container article .video-play-button,.bottom_controls #portfolio-nav .controls li a i:after,.bottom_controls #portfolio-nav ul:first-child li#all-items a:hover i,.nectar_video_lightbox.nectar-button[data-color="default-accent-color"],.nectar_video_lightbox.nectar-button[data-color="transparent-accent-color"]:hover,.testimonial_slider[data-style="multiple_visible"][data-color*="accent-color"] .flickity-page-dots .dot.is-selected:before,.testimonial_slider[data-style="multiple_visible"][data-color*="accent-color"] blockquote.is-selected p,.nectar-recent-posts-slider .container .strong span:before,#page-header-bg[data-post-hs="default_minimal"] .inner-wrap>a:hover,.single .heading-title[data-header-style="default_minimal"] .meta-category a:hover,body.single-post .sharing-default-minimal .nectar-love.loved,.nectar-fancy-box:after,.divider-small-border[data-color="accent-color"],.divider-border[data-color="accent-color"],div[data-style="minimal"] .toggle.open i:after,div[data-style="minimal"] .toggle:hover i:after,div[data-style="minimal"] .toggle.open i:before,div[data-style="minimal"] .toggle:hover i:before,.nectar-animated-title[data-color="accent-color"] .nectar-animated-title-inner:after,#fp-nav:not(.light-controls).tooltip_alt ul li a span:after,#fp-nav.tooltip_alt ul li a span:after,.nectar-video-box[data-color="default-accent-color"] a.nectar_video_lightbox,.span_12.dark .owl-theme .owl-dots .owl-dot.active span,.span_12.dark .owl-theme .owl-dots .owl-dot:hover span,.nectar_image_with_hotspots[data-stlye="color_pulse"][data-color="accent-color"] .nectar_hotspot,.nectar_image_with_hotspots .nectar_hotspot_wrap .nttip .tipclose span:before,.nectar_image_with_hotspots .nectar_hotspot_wrap .nttip .tipclose span:after,.woocommerce ul.products li.product .onsale,.woocommerce-page ul.products li.product .onsale,.woocommerce span.onsale,.woocommerce-page span.onsale,.woocommerce .product-wrap .add_to_cart_button.added,.single-product .facebook-share a:hover,.single-product .twitter-share a:hover,.single-product .pinterest-share a:hover,.woocommerce-message,.woocommerce-error,.woocommerce-info,.woocommerce-page table.cart a.remove:hover,.woocommerce .chzn-container .chzn-results .highlighted,.woocommerce .chosen-container .chosen-results .highlighted,.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce .container-wrap nav.woocommerce-pagination ul li:hover span,.woocommerce a.button:hover,.woocommerce-page a.button:hover,.woocommerce button.button:hover,.woocommerce-page button.button:hover,.woocommerce input.button:hover,.woocommerce-page input.button:hover,.woocommerce #respond input#submit:hover,.woocommerce-page #respond input#submit:hover,.woocommerce #content input.button:hover,.woocommerce-page #content input.button:hover,.woocommerce div.product .woocommerce-tabs ul.tabs li.active,.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active,.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active,.woocommerce .widget_price_filter .ui-slider .ui-slider-range,.woocommerce-page .widget_price_filter .ui-slider .ui-slider-range,.woocommerce .widget_layered_nav_filters ul li a:hover,.woocommerce-page .widget_layered_nav_filters ul li a:hover{background-color:#e8144d!important;}.col:hover>[class^="icon-"].icon-3x:not(.alt-style).accent-color.hovered,.col:hover>[class*=" icon-"].icon-3x:not(.alt-style).accent-color.hovered,body .nectar-button.see-through-2[data-hover-color-override="false"]:hover,.col:not(#post-area):not(.span_12):not(#sidebar):hover [class^="icon-"].icon-3x:not(.alt-style).accent-color.hovered,.col:not(#post-area):not(.span_12):not(#sidebar):hover a [class*=" icon-"].icon-3x:not(.alt-style).accent-color.hovered{background-color:#e8144d!important;}.bottom_controls #portfolio-nav ul:first-child li#all-items a:hover i{box-shadow:-.6em 0 #e8144d,-.6em .6em #e8144d,.6em 0 #e8144d,.6em -.6em #e8144d,0 -.6em #e8144d,-.6em -.6em #e8144d,0 .6em #e8144d,.6em .6em #e8144d;}.tabbed>ul li a.active-tab,body[data-form-style="minimal"] label:after,body .recent_projects_widget a:hover img,.recent_projects_widget a:hover img,#sidebar #flickr a:hover img,body .nectar-button.see-through-2[data-hover-color-override="false"]:hover,#footer-outer #flickr a:hover img,body[data-button-style="rounded"] .wpb_wrapper .twitter-share:before,body[data-button-style="rounded"] .wpb_wrapper .twitter-share.hovered:before,body[data-button-style="rounded"] .wpb_wrapper .facebook-share:before,body[data-button-style="rounded"] .wpb_wrapper .facebook-share.hovered:before,body[data-button-style="rounded"] .wpb_wrapper .google-plus-share:before,body[data-button-style="rounded"] .wpb_wrapper .google-plus-share.hovered:before,body[data-button-style="rounded"] .wpb_wrapper .nectar-social:hover>*:before,body[data-button-style="rounded"] .wpb_wrapper .pinterest-share:before,body[data-button-style="rounded"] .wpb_wrapper .pinterest-share.hovered:before,body[data-button-style="rounded"] .wpb_wrapper .linkedin-share:before,body[data-button-style="rounded"] .wpb_wrapper .linkedin-share.hovered:before,#featured article .post-title a:hover,#header-outer[data-lhe="animated_underline"] header#top nav>ul>li>a:after,body #featured article .post-title a:hover,div.wpcf7-validation-errors,body[data-fancy-form-rcs="1"] [type="radio"]:checked+label:before,body[data-fancy-form-rcs="1"] [type="radio"]:checked+label:after,body[data-fancy-form-rcs="1"] input[type="checkbox"]:checked+label>span,.select2-container .select2-choice:hover,.select2-dropdown-open .select2-choice,#header-outer:not(.transparent) header#top nav>ul>li.button_bordered>a:hover:before,.single #single-meta ul li:not(.meta-share-count):hover a,.single #project-meta ul li:not(.meta-share-count):hover a,div[data-style="minimal"] .toggle.default.open i,div[data-style="minimal"] .toggle.default:hover i,div[data-style="minimal"] .toggle.accent-color.open i,div[data-style="minimal"] .toggle.accent-color:hover i,.nectar_image_with_hotspots .nectar_hotspot_wrap .nttip .tipclose{border-color:#e8144d!important;}#fp-nav:not(.light-controls).tooltip_alt ul li a.active span,#fp-nav.tooltip_alt ul li a.active span{box-shadow:inset 0 0 0 2px #e8144d;-webkit-box-shadow:inset 0 0 0 2px #e8144d;}.default-loading-icon:before{border-top-color:#e8144d!important;}#header-outer a.cart-contents span:before,#fp-nav.tooltip ul li .fp-tooltip .tooltip-inner:after{border-color:transparent #e8144d!important;}body .col:not(#post-area):not(.span_12):not(#sidebar):hover .hovered .circle-border,body #sidebar .widget:hover .circle-border,body .testimonial_slider[data-style="multiple_visible"][data-color*="accent-color"] blockquote .bottom-arrow:after,body .dark .testimonial_slider[data-style="multiple_visible"][data-color*="accent-color"] blockquote .bottom-arrow:after,.portfolio-items[data-ps="6"] .bg-overlay,.portfolio-items[data-ps="6"].no-masonry .bg-overlay{border-color:#e8144d;}.gallery a:hover img{border-color:#e8144d!important;}@media only screen and (min-width :1px) and (max-width :1000px){body #featured article .post-title>a{background-color:#e8144d;}body #featured article .post-title>a{border-color:#e8144d;}}.nectar-button.regular-button.extra-color-1,.nectar-button.tilt.extra-color-1{background-color:#239b29!important;}.icon-3x[class^="icon-"].extra-color-1:not(.alt-style),.icon-tiny[class^="icon-"].extra-color-1,.icon-3x[class*=" icon-"].extra-color-1:not(.alt-style),body .icon-3x[class*=" icon-"].extra-color-1:not(.alt-style) .circle-border,.woocommerce-page table.cart a.remove,#header-outer .widget_shopping_cart .cart_list li a.remove,#header-outer .woocommerce.widget_shopping_cart .cart_list li a.remove,.nectar-milestone .number.extra-color-1,span.extra-color-1,.team-member ul.social.extra-color-1 li a,.stock.out-of-stock,body [class^="icon-"].icon-default-style.extra-color-1,body [class^="icon-"].icon-default-style[data-color="extra-color-1"],.team-member a.extra-color-1:hover,.pricing-table[data-style="flat-alternative"] .pricing-column.highlight.extra-color-1 h3,.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-1 h4,.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-1 .interval,.svg-icon-holder[data-color="extra-color-1"],div[data-style="minimal"] .toggle.extra-color-1:hover h3 a,div[data-style="minimal"] .toggle.extra-color-1.open h3 a,.nectar-icon-list[data-icon-style="border"][data-icon-color="extra-color-1"] .list-icon-holder[data-icon_type="numerical"] span,.nectar-icon-list[data-icon-color="extra-color-1"][data-icon-style="border"] .content h4{color:#239b29!important;}.col:hover>[class^="icon-"].icon-3x.extra-color-1:not(.alt-style),.col:hover>[class*=" icon-"].icon-3x.extra-color-1:not(.alt-style).hovered,body .swiper-slide .button.transparent_2 a.extra-color-1:hover,body .col:not(#post-area):not(.span_12):not(#sidebar):hover [class^="icon-"].icon-3x.extra-color-1:not(.alt-style).hovered,body .col:not(#post-area):not(#sidebar):not(.span_12):hover a [class*=" icon-"].icon-3x.extra-color-1:not(.alt-style).hovered,#sidebar .widget:hover [class^="icon-"].icon-3x.extra-color-1:not(.alt-style),.portfolio-filters-inline[data-color-scheme="extra-color-1"],.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-1:before,.pricing-table[data-style="flat-alternative"] .pricing-column.highlight.extra-color-1 h3 .highlight-reason,.nectar-button.nectar_video_lightbox[data-color="default-extra-color-1"],.nectar_video_lightbox.nectar-button[data-color="transparent-extra-color-1"]:hover,.testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-1"] .flickity-page-dots .dot.is-selected:before,.testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-1"] blockquote.is-selected p,.nectar-fancy-box[data-color="extra-color-1"]:after,.divider-small-border[data-color="extra-color-1"],.divider-border[data-color="extra-color-1"],div[data-style="minimal"] .toggle.extra-color-1.open i:after,div[data-style="minimal"] .toggle.extra-color-1:hover i:after,div[data-style="minimal"] .toggle.open.extra-color-1 i:before,div[data-style="minimal"] .toggle.extra-color-1:hover i:before,.nectar-animated-title[data-color="extra-color-1"] .nectar-animated-title-inner:after,.nectar-video-box[data-color="extra-color-1"] a.nectar_video_lightbox,.nectar_image_with_hotspots[data-stlye="color_pulse"][data-color="extra-color-1"] .nectar_hotspot{background-color:#239b29!important;}body [class^="icon-"].icon-3x.alt-style.extra-color-1,body [class*=" icon-"].icon-3x.alt-style.extra-color-1,[class*=" icon-"].extra-color-1.icon-normal,.extra-color-1.icon-normal,.bar_graph li span.extra-color-1,.nectar-progress-bar span.extra-color-1,#header-outer .widget_shopping_cart a.button,.woocommerce ul.products li.product .onsale,.woocommerce-page ul.products li.product .onsale,.woocommerce span.onsale,.woocommerce-page span.onsale,.woocommerce-page table.cart a.remove:hover,.swiper-slide .button.solid_color a.extra-color-1,.swiper-slide .button.solid_color_2 a.extra-color-1,.toggle.open.extra-color-1 h3 a{background-color:#239b29!important;}.col:hover>[class^="icon-"].icon-3x.extra-color-1.alt-style.hovered,.col:hover>[class*=" icon-"].icon-3x.extra-color-1.alt-style.hovered,.no-highlight.extra-color-1 h3,.col:not(#post-area):not(.span_12):not(#sidebar):hover [class^="icon-"].icon-3x.extra-color-1.alt-style.hovered,body .col:not(#post-area):not(.span_12):not(#sidebar):hover a [class*=" icon-"].icon-3x.extra-color-1.alt-style.hovered{color:#239b29!important;}body .col:not(#post-area):not(.span_12):not(#sidebar):hover .extra-color-1.hovered .circle-border,.woocommerce-page table.cart a.remove,#header-outer .woocommerce.widget_shopping_cart .cart_list li a.remove,#header-outer .woocommerce.widget_shopping_cart .cart_list li a.remove,body #sidebar .widget:hover .extra-color-1 .circle-border,.woocommerce-page table.cart a.remove,body .testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-1"] blockquote .bottom-arrow:after,body .dark .testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-1"] blockquote .bottom-arrow:after,div[data-style="minimal"] .toggle.open.extra-color-1 i,div[data-style="minimal"] .toggle.extra-color-1:hover i{border-color:#239b29;}.pricing-column.highlight.extra-color-1 h3{background-color:#239b29!important;}.nectar-button.regular-button.extra-color-2,.nectar-button.tilt.extra-color-2{background-color:#2AC4EA!important;}.icon-3x[class^="icon-"].extra-color-2:not(.alt-style),.icon-3x[class*=" icon-"].extra-color-2:not(.alt-style),.icon-tiny[class^="icon-"].extra-color-2,body .icon-3x[class*=" icon-"].extra-color-2 .circle-border,.nectar-milestone .number.extra-color-2,span.extra-color-2,.team-member ul.social.extra-color-2 li a,body [class^="icon-"].icon-default-style.extra-color-2,body [class^="icon-"].icon-default-style[data-color="extra-color-2"],.team-member a.extra-color-2:hover,.pricing-table[data-style="flat-alternative"] .pricing-column.highlight.extra-color-2 h3,.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-2 h4,.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-2 .interval,.svg-icon-holder[data-color="extra-color-2"],div[data-style="minimal"] .toggle.extra-color-2:hover h3 a,div[data-style="minimal"] .toggle.extra-color-2.open h3 a,.nectar-icon-list[data-icon-style="border"][data-icon-color="extra-color-2"] .list-icon-holder[data-icon_type="numerical"] span,.nectar-icon-list[data-icon-color="extra-color-2"][data-icon-style="border"] .content h4{color:#2AC4EA!important;}.col:hover>[class^="icon-"].icon-3x.extra-color-2:not(.alt-style).hovered,.col:hover>[class*=" icon-"].icon-3x.extra-color-2:not(.alt-style).hovered,body .swiper-slide .button.transparent_2 a.extra-color-2:hover,.col:not(#post-area):not(.span_12):not(#sidebar):hover [class^="icon-"].icon-3x.extra-color-2:not(.alt-style).hovered,.col:not(#post-area):not(.span_12):not(#sidebar):hover a [class*=" icon-"].icon-3x.extra-color-2:not(.alt-style).hovered,#sidebar .widget:hover [class^="icon-"].icon-3x.extra-color-2:not(.alt-style),.pricing-table[data-style="flat-alternative"] .pricing-column.highlight.extra-color-2 h3 .highlight-reason,.nectar-button.nectar_video_lightbox[data-color="default-extra-color-2"],.nectar_video_lightbox.nectar-button[data-color="transparent-extra-color-2"]:hover,.testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-2"] .flickity-page-dots .dot.is-selected:before,.testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-2"] blockquote.is-selected p,.nectar-fancy-box[data-color="extra-color-2"]:after,.divider-small-border[data-color="extra-color-2"],.divider-border[data-color="extra-color-2"],div[data-style="minimal"] .toggle.extra-color-2.open i:after,div[data-style="minimal"] .toggle.extra-color-2:hover i:after,div[data-style="minimal"] .toggle.open.extra-color-2 i:before,div[data-style="minimal"] .toggle.extra-color-2:hover i:before,.nectar-animated-title[data-color="extra-color-2"] .nectar-animated-title-inner:after,.nectar-video-box[data-color="extra-color-2"] a.nectar_video_lightbox,.nectar_image_with_hotspots[data-stlye="color_pulse"][data-color="extra-color-2"] .nectar_hotspot{background-color:#2AC4EA!important;}body [class^="icon-"].icon-3x.alt-style.extra-color-2,body [class*=" icon-"].icon-3x.alt-style.extra-color-2,[class*=" icon-"].extra-color-2.icon-normal,.extra-color-2.icon-normal,.bar_graph li span.extra-color-2,.nectar-progress-bar span.extra-color-2,.woocommerce .product-wrap .add_to_cart_button.added,.woocommerce-message,.woocommerce-error,.woocommerce-info,.woocommerce .widget_price_filter .ui-slider .ui-slider-range,.woocommerce-page .widget_price_filter .ui-slider .ui-slider-range,.swiper-slide .button.solid_color a.extra-color-2,.swiper-slide .button.solid_color_2 a.extra-color-2,.toggle.open.extra-color-2 h3 a,.portfolio-filters-inline[data-color-scheme="extra-color-2"],.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-2:before{background-color:#2AC4EA!important;}.col:hover>[class^="icon-"].icon-3x.extra-color-2.alt-style.hovered,.col:hover>[class*=" icon-"].icon-3x.extra-color-2.alt-style.hovered,.no-highlight.extra-color-2 h3,.col:not(#post-area):not(.span_12):not(#sidebar):hover [class^="icon-"].icon-3x.extra-color-2.alt-style.hovered,body .col:not(#post-area):not(.span_12):not(#sidebar):hover a [class*=" icon-"].icon-3x.extra-color-2.alt-style.hovered{color:#2AC4EA!important;}body .col:not(#post-area):not(.span_12):not(#sidebar):hover .extra-color-2.hovered .circle-border,body #sidebar .widget:hover .extra-color-2 .circle-border,body .testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-2"] blockquote .bottom-arrow:after,body .dark .testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-2"] blockquote .bottom-arrow:after,div[data-style="minimal"] .toggle.open.extra-color-2 i,div[data-style="minimal"] .toggle.extra-color-2:hover i{border-color:#2AC4EA;}.pricing-column.highlight.extra-color-2 h3{background-color:#2AC4EA!important;}.nectar-button.regular-button.extra-color-3,.nectar-button.tilt.extra-color-3{background-color:#333333!important;}.icon-3x[class^="icon-"].extra-color-3:not(.alt-style),.icon-3x[class*=" icon-"].extra-color-3:not(.alt-style),.icon-tiny[class^="icon-"].extra-color-3,body .icon-3x[class*=" icon-"].extra-color-3 .circle-border,.nectar-milestone .number.extra-color-3,span.extra-color-3,.team-member ul.social.extra-color-3 li a,body [class^="icon-"].icon-default-style.extra-color-3,body [class^="icon-"].icon-default-style[data-color="extra-color-3"],.team-member a.extra-color-3:hover,.pricing-table[data-style="flat-alternative"] .pricing-column.highlight.extra-color-3 h3,.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-3 h4,.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-3 .interval,.svg-icon-holder[data-color="extra-color-3"],div[data-style="minimal"] .toggle.extra-color-3:hover h3 a,div[data-style="minimal"] .toggle.extra-color-3.open h3 a,.nectar-icon-list[data-icon-style="border"][data-icon-color="extra-color-3"] .list-icon-holder[data-icon_type="numerical"] span,.nectar-icon-list[data-icon-color="extra-color-3"][data-icon-style="border"] .content h4{color:#333333!important;}.col:hover>[class^="icon-"].icon-3x.extra-color-3:not(.alt-style).hovered,.col:hover>[class*=" icon-"].icon-3x.extra-color-3:not(.alt-style).hovered,body .swiper-slide .button.transparent_2 a.extra-color-3:hover,.col:not(#post-area):not(.span_12):not(#sidebar):hover [class^="icon-"].icon-3x.extra-color-3:not(.alt-style).hovered,.col:not(#post-area):not(.span_12):not(#sidebar):hover a [class*=" icon-"].icon-3x.extra-color-3:not(.alt-style).hovered,#sidebar .widget:hover [class^="icon-"].icon-3x.extra-color-3:not(.alt-style),.portfolio-filters-inline[data-color-scheme="extra-color-3"],.pricing-table[data-style="flat-alternative"] .pricing-column.extra-color-3:before,.pricing-table[data-style="flat-alternative"] .pricing-column.highlight.extra-color-3 h3 .highlight-reason,.nectar-button.nectar_video_lightbox[data-color="default-extra-color-3"],.nectar_video_lightbox.nectar-button[data-color="transparent-extra-color-3"]:hover,.testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-3"] .flickity-page-dots .dot.is-selected:before,.testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-3"] blockquote.is-selected p,.nectar-fancy-box[data-color="extra-color-3"]:after,.divider-small-border[data-color="extra-color-3"],.divider-border[data-color="extra-color-3"],div[data-style="minimal"] .toggle.extra-color-3.open i:after,div[data-style="minimal"] .toggle.extra-color-3:hover i:after,div[data-style="minimal"] .toggle.open.extra-color-3 i:before,div[data-style="minimal"] .toggle.extra-color-3:hover i:before,.nectar-animated-title[data-color="extra-color-3"] .nectar-animated-title-inner:after,.nectar-video-box[data-color="extra-color-3"] a.nectar_video_lightbox,.nectar_image_with_hotspots[data-stlye="color_pulse"][data-color="extra-color-3"] .nectar_hotspot{background-color:#333333!important;}body [class^="icon-"].icon-3x.alt-style.extra-color-3,body [class*=" icon-"].icon-3x.alt-style.extra-color-3,.extra-color-3.icon-normal,[class*=" icon-"].extra-color-3.icon-normal,.bar_graph li span.extra-color-3,.nectar-progress-bar span.extra-color-3,.swiper-slide .button.solid_color a.extra-color-3,.swiper-slide .button.solid_color_2 a.extra-color-3,.toggle.open.extra-color-3 h3 a{background-color:#333333!important;}.col:hover>[class^="icon-"].icon-3x.extra-color-3.alt-style.hovered,.col:hover>[class*=" icon-"].icon-3x.extra-color-3.alt-style.hovered,.no-highlight.extra-color-3 h3,.col:not(#post-area):not(.span_12):not(#sidebar):hover [class^="icon-"].icon-3x.extra-color-3.alt-style.hovered,body .col:not(#post-area):not(.span_12):not(#sidebar):hover a [class*=" icon-"].icon-3x.extra-color-3.alt-style.hovered{color:#333333!important;}body .col:not(#post-area):not(.span_12):not(#sidebar):hover .extra-color-3.hovered .circle-border,body #sidebar .widget:hover .extra-color-3 .circle-border,body .testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-3"] blockquote .bottom-arrow:after,body .dark .testimonial_slider[data-style="multiple_visible"][data-color*="extra-color-3"] blockquote .bottom-arrow:after,div[data-style="minimal"] .toggle.open.extra-color-3 i,div[data-style="minimal"] .toggle.extra-color-3:hover i{border-color:#333333;}.pricing-column.highlight.extra-color-3 h3{background-color:#333333!important;}.divider-small-border[data-color="extra-color-gradient-1"],.divider-border[data-color="extra-color-gradient-1"],.nectar-progress-bar span.extra-color-gradient-1{background:#27CCC0;background:linear-gradient(to right,#27CCC0,#2ddcb5);}.icon-normal.extra-color-gradient-1,body [class^="icon-"].icon-3x.alt-style.extra-color-gradient-1,.nectar-button.extra-color-gradient-1:after,.nectar-button.see-through-extra-color-gradient-1:after{background:#27CCC0;background:linear-gradient(to bottom right,#27CCC0,#2ddcb5);}.nectar-button.extra-color-gradient-1,.nectar-button.see-through-extra-color-gradient-1{border:3px solid transparent;-moz-border-image:-moz-linear-gradient(top right,#27CCC0 0,#2ddcb5 100%);-webkit-border-image:-webkit-linear-gradient(top right,#27CCC0 0,#2ddcb5 100%);border-image:linear-gradient(to bottom right,#27CCC0 0,#2ddcb5 100%);border-image-slice:1;}.nectar-gradient-text[data-color="extra-color-gradient-1"][data-direction="horizontal"] *{background-image:linear-gradient(to right,#27CCC0,#2ddcb5);}.nectar-gradient-text[data-color="extra-color-gradient-1"] *,.nectar-icon-list[data-icon-style="border"][data-icon-color="extra-color-gradient-1"] .list-icon-holder[data-icon_type="numerical"] span{color:#27CCC0;background:linear-gradient(to bottom right,#27CCC0,#2ddcb5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;display:inline-block;}[class^="icon-"][data-color="extra-color-gradient-1"]:before,[class*=" icon-"][data-color="extra-color-gradient-1"]:before,[class^="icon-"].extra-color-gradient-1:not(.icon-normal):before,[class*=" icon-"].extra-color-gradient-1:not(.icon-normal):before{color:#27CCC0;background:linear-gradient(to bottom right,#27CCC0,#2ddcb5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;display:initial;}.nectar-button.extra-color-gradient-1 .hover,.nectar-button.see-through-extra-color-gradient-1 .start{background:#27CCC0;background:linear-gradient(to bottom right,#27CCC0,#2ddcb5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;display:initial;}.nectar-button.extra-color-gradient-1.no-text-grad .hover,.nectar-button.see-through-extra-color-gradient-1.no-text-grad .start{background:transparent!important;color:#27CCC0!important;}.divider-small-border[data-color="extra-color-gradient-2"],.divider-border[data-color="extra-color-gradient-2"],.nectar-progress-bar span.extra-color-gradient-2{background:#2AC4EA;background:linear-gradient(to right,#2AC4EA,#32d6ff);}.icon-normal.extra-color-gradient-2,body [class^="icon-"].icon-3x.alt-style.extra-color-gradient-2,.nectar-button.extra-color-gradient-2:after,.nectar-button.see-through-extra-color-gradient-2:after{background:#2AC4EA;background:linear-gradient(to bottom right,#2AC4EA,#32d6ff);}.nectar-button.extra-color-gradient-2,.nectar-button.see-through-extra-color-gradient-2{border:3px solid transparent;-moz-border-image:-moz-linear-gradient(top right,#2AC4EA 0,#32d6ff 100%);-webkit-border-image:-webkit-linear-gradient(top right,#2AC4EA 0,#32d6ff 100%);border-image:linear-gradient(to bottom right,#2AC4EA 0,#32d6ff 100%);border-image-slice:1;}.nectar-gradient-text[data-color="extra-color-gradient-2"][data-direction="horizontal"] *{background-image:linear-gradient(to right,#2AC4EA,#32d6ff);}.nectar-gradient-text[data-color="extra-color-gradient-2"] *,.nectar-icon-list[data-icon-style="border"][data-icon-color="extra-color-gradient-2"] .list-icon-holder[data-icon_type="numerical"] span{color:#2AC4EA;background:linear-gradient(to bottom right,#2AC4EA,#32d6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;display:inline-block;}[class^="icon-"][data-color="extra-color-gradient-2"]:before,[class*=" icon-"][data-color="extra-color-gradient-2"]:before,[class^="icon-"].extra-color-gradient-2:not(.icon-normal):before,[class*=" icon-"].extra-color-gradient-2:not(.icon-normal):before{color:#2AC4EA;background:linear-gradient(to bottom right,#2AC4EA,#32d6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;display:initial;}.nectar-button.extra-color-gradient-2 .hover,.nectar-button.see-through-extra-color-gradient-2 .start{background:#2AC4EA;background:linear-gradient(to bottom right,#2AC4EA,#32d6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;display:initial;}.nectar-button.extra-color-gradient-2.no-text-grad .hover,.nectar-button.see-through-extra-color-gradient-2.no-text-grad .start{background:transparent!important;color:#2AC4EA!important;}html .container-wrap,.project-title,html .ascend .container-wrap,html .ascend .project-title,html body .vc_text_separator div,html .carousel-wrap[data-full-width="true"] .carousel-heading,html .carousel-wrap span.left-border,html .carousel-wrap span.right-border,html #page-header-wrap,html .page-header-no-bg,html #full_width_portfolio .project-title.parallax-effect,html .portfolio-items .col,html .page-template-template-portfolio-php .portfolio-items .col.span_3,html .page-template-template-portfolio-php .portfolio-items .col.span_4{background-color:#ffffff;}#call-to-action{background-color:#ECEBE9!important;}#call-to-action span{color:#4B4F52!important;}body #slide-out-widget-area-bg{background-color:rgba(0,0,0,0.8);}#nectar_fullscreen_rows{background-color:;}
  </style>
  <style type="text/css">
   #header-outer{padding-top:28px;}#header-outer #logo img{height:80px;}header#top nav>ul>li:not(#social-in-menu)>a{padding-bottom:55px;padding-top:27px;}header#top nav>ul>li#social-in-menu>a{margin-bottom:55px;margin-top:27px;}#header-outer .cart-menu{padding-bottom:104px;padding-top:104px;}header#top nav>ul li#search-btn,header#top nav>ul li.slide-out-widget-area-toggle{padding-bottom:27px;padding-top:28px;}header#top .sf-menu>li.sfHover>ul{top:25px;}.sf-sub-indicator{height:20px;}#header-space{height:136px;}body[data-smooth-scrolling="1"] #full_width_portfolio .project-title.parallax-effect{top:136px;}body.single-product div.product .product_title{padding-right:258px;}@media only screen and (max-width:1000px){body header#top #logo img,#header-outer[data-permanent-transparent="false"] #logo .dark-version{height:25px!important;}header#top .col.span_9{min-height:49px;line-height:29px;}}body #header-outer,body[data-header-color="dark"] #header-outer{background-color:rgba(255,255,255,100);}.nectar-slider-loading .loading-icon,.portfolio-loading,#ajax-loading-screen .loading-icon,.loading-icon,.pp_loaderIcon{background-image:url("");}@media only screen and (min-width:1000px) and (max-width:1300px){.nectar-slider-wrap[data-full-width="true"] .swiper-slide .content h2,.nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content h2,.full-width-content .vc_span12 .swiper-slide .content h2{font-size:45px!important;line-height:51px!important;}.nectar-slider-wrap[data-full-width="true"] .swiper-slide .content p,.nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content p,.full-width-content .vc_span12 .swiper-slide .content p{font-size:18px!important;line-height:31.2px!important;}}@media only screen and (min-width :690px) and (max-width :1000px){.nectar-slider-wrap[data-full-width="true"] .swiper-slide .content h2,.nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content h2,.full-width-content .vc_span12 .swiper-slide .content h2{font-size:33px!important;line-height:39px!important;}.nectar-slider-wrap[data-full-width="true"] .swiper-slide .content p,.nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content p,.full-width-content .vc_span12 .swiper-slide .content p{font-size:13.2px!important;line-height:24px!important;}}@media only screen and (max-width :690px){.nectar-slider-wrap[data-full-width="true"][data-fullscreen="false"] .swiper-slide .content h2,.nectar-slider-wrap[data-full-width="boxed-full-width"][data-fullscreen="false"] .swiper-slide .content h2,.full-width-content .vc_span12 .nectar-slider-wrap[data-fullscreen="false"] .swiper-slide .content h2{font-size:15px!important;line-height:21px!important;}.nectar-slider-wrap[data-full-width="true"][data-fullscreen="false"] .swiper-slide .content p,.nectar-slider-wrap[data-full-width="boxed-full-width"][data-fullscreen="false"] .swiper-slide .content p,.full-width-content .vc_span12 .nectar-slider-wrap[data-fullscreen="false"] .swiper-slide .content p{font-size:10px!important;line-height:17.52px!important;}}#mobile-menu #mobile-search,header#top nav ul #search-btn{display:none!important;}#header-outer.transparent header#top #logo,#header-outer.transparent header#top #logo:hover{color:#ffffff!important;}#header-outer.transparent header#top nav>ul>li>a,#header-outer.transparent header#top nav ul #search-btn a span.icon-salient-search,#header-outer.transparent nav>ul>li>a>.sf-sub-indicator [class^="icon-"],#header-outer.transparent nav>ul>li>a>.sf-sub-indicator [class*=" icon-"],#header-outer.transparent .cart-menu .cart-icon-wrap .icon-salient-cart,.ascend #boxed #header-outer.transparent .cart-menu .cart-icon-wrap .icon-salient-cart{color:#ffffff!important;opacity:0.75!important;transition:opacity 0.2s linear,color 0.2s linear;}#header-outer.transparent:not([data-lhe="animated_underline"]) header#top nav>ul>li>a:hover,#header-outer.transparent:not([data-lhe="animated_underline"]) header#top nav .sf-menu>li.sfHover>a,#header-outer.transparent:not([data-lhe="animated_underline"]) header#top nav .sf-menu>li.current_page_ancestor>a,#header-outer.transparent header#top nav .sf-menu>li.current-menu-item>a,#header-outer.transparent:not([data-lhe="animated_underline"]) header#top nav .sf-menu>li.current-menu-ancestor>a,#header-outer.transparent:not([data-lhe="animated_underline"]) header#top nav .sf-menu>li.current-menu-item>a,#header-outer.transparent:not([data-lhe="animated_underline"]) header#top nav .sf-menu>li.current_page_item>a,#header-outer.transparent header#top nav>ul>li>a:hover>.sf-sub-indicator>i,#header-outer.transparent header#top nav>ul>li.sfHover>a>span>i,#header-outer.transparent header#top nav ul #search-btn a:hover span,#header-outer.transparent header#top nav ul .slide-out-widget-area-toggle a:hover span,#header-outer.transparent header#top nav .sf-menu>li.current-menu-item>a i,#header-outer.transparent header#top nav .sf-menu>li.current-menu-ancestor>a i,#header-outer.transparent .cart-outer:hover .icon-salient-cart,.ascend #boxed #header-outer.transparent .cart-outer:hover .cart-menu .cart-icon-wrap .icon-salient-cart{opacity:1!important;color:#ffffff!important;}#header-outer.transparent[data-lhe="animated_underline"] header#top nav>ul>li>a:hover,#header-outer.transparent[data-lhe="animated_underline"] header#top nav .sf-menu>li.sfHover>a,#header-outer.transparent[data-lhe="animated_underline"] header#top nav .sf-menu>li.current-menu-ancestor>a,#header-outer.transparent[data-lhe="animated_underline"] header#top nav .sf-menu>li.current_page_item>a{opacity:1!important;}#header-outer[data-lhe="animated_underline"].transparent header#top nav>ul>li>a:after,#header-outer.transparent header#top nav>ul>li.button_bordered>a:before{border-color:#ffffff!important;}#header-outer.transparent:not(.directional-nav-effect)>header#top nav ul .slide-out-widget-area-toggle a i.lines,#header-outer.transparent:not(.directional-nav-effect)>header#top nav ul .slide-out-widget-area-toggle a i.lines:before,#header-outer.transparent:not(.directional-nav-effect)>header#top nav ul .slide-out-widget-area-toggle a i.lines:after,#header-outer.transparent:not(.directional-nav-effect)>header#top nav ul .slide-out-widget-area-toggle[data-icon-animation="simple-transform"] .lines-button:after,#header-outer.transparent.directional-nav-effect>header#top nav ul .slide-out-widget-area-toggle a span.light .lines-button i,#header-outer.transparent.directional-nav-effect>header#top nav ul .slide-out-widget-area-toggle a span.light .lines-button i:after,#header-outer.transparent.directional-nav-effect>header#top nav ul .slide-out-widget-area-toggle a span.light .lines-button i:before,#header-outer.transparent:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a i.lines,#header-outer.transparent:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a i.lines:before,#header-outer.transparent:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a i.lines:after,#header-outer.transparent.directional-nav-effect .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a span.light .lines-button i,#header-outer.transparent.directional-nav-effect .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a span.light .lines-button i:after,#header-outer.transparent.directional-nav-effect .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a span.light .lines-button i:before{background-color:#ffffff!important;}#header-outer.transparent header#top nav ul .slide-out-widget-area-toggle a i.lines,#header-outer.transparent header#top nav ul .slide-out-widget-area-toggle[data-icon-animation="simple-transform"] a i.lines-button:after{opacity:0.75!important;}#header-outer.transparent.side-widget-open header#top nav ul .slide-out-widget-area-toggle a i.lines,#header-outer.transparent header#top nav ul .slide-out-widget-area-toggle[data-icon-animation="simple-transform"] a:hover i.lines-button:after,#header-outer.transparent header#top nav ul .slide-out-widget-area-toggle a:hover i.lines,#header-outer.transparent header#top nav ul .slide-out-widget-area-toggle a:hover i.lines:before,#header-outer.transparent header#top nav ul .slide-out-widget-area-toggle a:hover i.lines:after{opacity:1!important;}#header-outer.transparent.dark-slide>header#top nav>ul>li>a,#header-outer.transparent.dark-row>header#top nav>ul>li>a,#header-outer.transparent.dark-slide:not(.directional-nav-effect)>header#top nav ul #search-btn a span,#header-outer.transparent.dark-row:not(.directional-nav-effect)>header#top nav ul #search-btn a span,#header-outer.transparent.dark-slide>header#top nav>ul>li>a>.sf-sub-indicator [class^="icon-"],#header-outer.transparent.dark-slide>header#top nav>ul>li>a>.sf-sub-indicator [class*=" icon-"],#header-outer.transparent.dark-row>header#top nav>ul>li>a>.sf-sub-indicator [class*=" icon-"],#header-outer.transparent.dark-slide:not(.directional-nav-effect) .cart-menu .cart-icon-wrap .icon-salient-cart,#header-outer.transparent.dark-row:not(.directional-nav-effect) .cart-menu .cart-icon-wrap .icon-salient-cart,body.ascend[data-header-color="custom"] #boxed #header-outer.transparent.dark-slide>header#top .cart-outer .cart-menu .cart-icon-wrap i,body.ascend #boxed #header-outer.transparent.dark-slide>header#top .cart-outer .cart-menu .cart-icon-wrap i,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav>ul>li>a,#header-outer.transparent.dark-slide:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top nav ul #search-btn a span,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav>ul>li>a>.sf-sub-indicator [class^="icon-"],#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav>ul>li>a>.sf-sub-indicator [class*=" icon-"],#header-outer.transparent.dark-slide:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top .cart-menu .cart-icon-wrap .icon-salient-cart,body.ascend[data-header-color="custom"] #boxed #header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top .cart-outer .cart-menu .cart-icon-wrap i,body.ascend #boxed #header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top .cart-outer .cart-menu .cart-icon-wrap i{color:#000000!important;}#header-outer.transparent.dark-slide:not(.directional-nav-effect)>header#top nav ul .slide-out-widget-area-toggle a .lines-button i,#header-outer.transparent.dark-slide:not(.directional-nav-effect)>header#top nav ul .slide-out-widget-area-toggle a .lines-button i:after,#header-outer.transparent.dark-slide:not(.directional-nav-effect)>header#top nav ul .slide-out-widget-area-toggle a .lines-button i:before,#header-outer.transparent.dark-slide:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a .lines-button i,#header-outer.transparent.dark-slide:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a .lines-button i:after,#header-outer.transparent.dark-slide:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle a .lines-button i:before,#header-outer.transparent.dark-slide:not(.directional-nav-effect)>header#top nav ul .slide-out-widget-area-toggle[data-icon-animation="simple-transform"] .lines-button:after,#header-outer.transparent.dark-slide:not(.directional-nav-effect) .midnightHeader.nectar-slider header#top nav ul .slide-out-widget-area-toggle[data-icon-animation="simple-transform"] .lines-button:after{background-color:#000000!important;}#header-outer.transparent.dark-slide>header#top nav>ul>li>a:hover,#header-outer.transparent.dark-slide>header#top nav .sf-menu>li.sfHover>a,#header-outer.transparent.dark-slide>header#top nav .sf-menu>li.current_page_ancestor>a,#header-outer.transparent.dark-slide>header#top nav .sf-menu>li.current-menu-item>a,#header-outer.transparent.dark-slide>header#top nav .sf-menu>li.current-menu-ancestor>a,#header-outer.transparent.dark-slide>header#top nav .sf-menu>li.current_page_item>a,#header-outer.transparent.dark-slide>header#top nav>ul>li>a:hover>.sf-sub-indicator>i,#header-outer.transparent.dark-slide>header#top nav>ul>li.sfHover>a>span>i,#header-outer.transparent.dark-slide>header#top nav ul #search-btn a:hover span,#header-outer.transparent.dark-slide>header#top nav .sf-menu>li.current-menu-item>a i,#header-outer.transparent.dark-slide>header#top nav .sf-menu>li.current-menu-ancestor>a i,#header-outer.transparent.dark-slide>header#top .cart-outer:hover .icon-salient-cart,body.ascend[data-header-color="custom"] #boxed #header-outer.transparent.dark-slide>header#top .cart-outer:hover .cart-menu .cart-icon-wrap i,#header-outer.transparent.dark-slide>header#top #logo,#header-outer[data-permanent-transparent="1"].transparent.dark-slide .midnightHeader.nectar-slider header#top .span_9>.slide-out-widget-area-toggle i,#header-outer.transparent:not([data-lhe="animated_underline"]).dark-slide header#top nav .sf-menu>li.current_page_item>a,#header-outer.transparent:not([data-lhe="animated_underline"]).dark-slide header#top nav .sf-menu>li.current-menu-ancestor>a,#header-outer.transparent:not([data-lhe="animated_underline"]).dark-slide header#top nav>ul>li>a:hover,#header-outer.transparent:not([data-lhe="animated_underline"]).dark-slide header#top nav .sf-menu>li.sfHover>a,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav>ul>li>a:hover,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav .sf-menu>li.sfHover>a,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav .sf-menu>li.current_page_ancestor>a,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav .sf-menu>li.current-menu-item>a,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav .sf-menu>li.current-menu-ancestor>a,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav .sf-menu>li.current_page_item>a,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav>ul>li>a:hover>.sf-sub-indicator>i,#header-outer.transparent.dark-slide header#top nav>ul>li.sfHover>a>span>i,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav ul #search-btn a:hover span,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav .sf-menu>li.current-menu-item>a i,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top nav .sf-menu>li.current-menu-ancestor>a i,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top .cart-outer:hover .icon-salient-cart,body.ascend[data-header-color="custom"] #boxed #header-outer.transparent.dark-slide>header#top .cart-outer:hover .cart-menu .cart-icon-wrap i,#header-outer.transparent.dark-slide .midnightHeader.nectar-slider header#top #logo,.swiper-wrapper .swiper-slide[data-color-scheme="dark"] .slider-down-arrow i.icon-default-style[class^="icon-"],.slider-prev.dark-cs i,.slider-next.dark-cs i,.swiper-container .dark-cs.slider-prev .slide-count span,.swiper-container .dark-cs.slider-next .slide-count span{color:#000000!important;}#header-outer[data-lhe="animated_underline"].transparent.dark-slide header#top nav>ul>li>a:after,#header-outer[data-lhe="animated_underline"].transparent:not(.side-widget-open) .midnightHeader.dark header#top nav>ul>li>a:after,#header-outer[data-lhe="animated_underline"].transparent:not(.side-widget-open) .midnightHeader.default header#top nav>ul>li>a:after,#header-outer.dark-slide.transparent:not(.side-widget-open) header#top nav>ul>li.button_bordered>a:before{border-color:#000000!important;}.swiper-container[data-bullet_style="scale"] .slider-pagination.dark-cs .swiper-pagination-switch.swiper-active-switch i,.swiper-container[data-bullet_style="scale"] .slider-pagination.dark-cs .swiper-pagination-switch:hover i{background-color:#000000;}.slider-pagination.dark-cs .swiper-pagination-switch{border:1px solid #000000;background-color:transparent;}.slider-pagination.dark-cs .swiper-pagination-switch:hover{background:none repeat scroll 0 0 #000000;}.slider-pagination.dark-cs .swiper-active-switch{background:none repeat scroll 0 0 #000000;}#fp-nav:not(.light-controls) ul li a span:after{background-color:#000000;}#fp-nav:not(.light-controls) ul li a span{box-shadow:inset 0 0 0 8px rgba(0,0,0,0.3);-webkit-box-shadow:inset 0 0 0 8px rgba(0,0,0,0.3);}body #fp-nav ul li a.active span{box-shadow:inset 0 0 0 2px rgba(0,0,0,0.8);-webkit-box-shadow:inset 0 0 0 2px rgba(0,0,0,0.8);}#header-space{background-color:#ffffff}@media only screen and (min-width:1000px){.container,.woocommerce-tabs .full-width-content .tab-container,.nectar-recent-posts-slider .flickity-page-dots{max-width:1425px;width:100%;margin:0 auto;padding:0 90px;}body .container .page-submenu.stuck .container:not(.tab-container),.nectar-recent-posts-slider .flickity-page-dots{padding:0 90px!important;}.swiper-slide .content{padding:0 90px;}body .container .container:not(.tab-container):not(.recent-post-container){width:100%!important;padding:0!important;}body .carousel-heading .container{padding:0 10px!important;}body .carousel-heading .container .carousel-next{right:10px;}body .carousel-heading .container .carousel-prev{right:35px;}.carousel-wrap[data-full-width="true"] .carousel-heading a.portfolio-page-link{left:90px;}.carousel-wrap[data-full-width="true"] .carousel-heading{margin-left:-20px;margin-right:-20px;}.carousel-wrap[data-full-width="true"] .carousel-next{right:90px!important;}.carousel-wrap[data-full-width="true"] .carousel-prev{right:115px!important;}.carousel-wrap[data-full-width="true"]{padding:0!important;}.carousel-wrap[data-full-width="true"] .caroufredsel_wrapper{padding:20px!important;}#search-outer #search #close a{right:90px;}#boxed,#boxed #header-outer,#boxed #header-secondary-outer,#boxed #slide-out-widget-area-bg.fullscreen,#boxed #page-header-bg[data-parallax="1"],#boxed #featured,body[data-footer-reveal="1"] #boxed #footer-outer,#boxed .orbit>div,#boxed #featured article,.ascend #boxed #search-outer{max-width:1400px!important;width:90%!important;min-width:980px;}body[data-hhun="1"] #boxed #header-outer:not(.detached),body[data-hhun="1"] #boxed #header-secondary-outer{width:100%!important;}#boxed #search-outer #search #close a{right:0!important;}#boxed .container{width:92%;padding:0;}#boxed #footer-outer #footer-widgets,#boxed #footer-outer #copyright{padding-left:0;padding-right:0;}#boxed .carousel-wrap[data-full-width="true"] .carousel-heading a.portfolio-page-link{left:35px;}#boxed .carousel-wrap[data-full-width="true"] .carousel-next{right:35px!important;}#boxed .carousel-wrap[data-full-width="true"] .carousel-prev{right:60px!important;}}@media only screen and (min-width:1080px) and (max-width:1475px){header#top nav>ul.product_added.buttons{padding-right:20px!important;}#boxed header#top nav>ul.product_added.buttons{padding-right:0!important;}#search-outer #search #close a.product_added{right:110px;}}.pagination-navigation{-webkit-filter:url("https://www.volodaily.com/ocean-flavor-by-igor-koshelev/#goo");filter:url("https://www.volodaily.com/ocean-flavor-by-igor-koshelev/#goo");}@media only screen and (min-width:1080px){#header-outer[data-full-width="true"] header#top nav>ul.product_added.buttons{padding-right:80px!important;}body:not(.ascend) #header-outer[data-full-width="true"][data-remove-border="true"].transparent header#top nav>ul.product_added .slide-out-widget-area-toggle,body:not(.ascend) #header-outer[data-full-width="true"][data-remove-border="true"].side-widget-open header#top nav>ul.product_added .slide-out-widget-area-toggle{margin-right:-20px!important;}}
  </style>
  <style type="text/css">
   body,.toggle h3 a,body .ui-widget,table,.bar_graph li span strong,#slide-out-widget-area .tagcloud a,body .container .woocommerce-message a.button,#search-results .result .title span,.woocommerce ul.products li.product h3,.woocommerce-page ul.products li.product h3,.row .col.section-title .nectar-love span,body .nectar-love span,body .nectar-social .nectar-love .nectar-love-count,body .carousel-heading h2,.sharing-default-minimal .nectar-social .social-text,body .sharing-default-minimal .nectar-love{font-family:Source Sans Pro;letter-spacing:1px;font-size:18px;line-height:24px;font-weight:300;}.bold,strong,b{font-family:Source Sans Pro;font-weight:600;}.nectar-fancy-ul ul li .icon-default-style[class^="icon-"]{line-height:24px!important;}header#top nav>ul>li>a{font-family:Fjalla One;text-transform:uppercase;font-size:18px;line-height:25.2px;font-weight:400;}#header-outer[data-lhe="animated_underline"] header#top nav>ul>li>a,header#top nav>ul>li.button_solid_color>a,body #header-outer.transparent header#top nav>ul>li.button_solid_color>a,#header-outer[data-lhe="animated_underline"] header#top nav>ul>li.button_solid_color>a{margin-left:13px!important;margin-right:13px!important;}#header-outer[data-lhe="default"] header#top nav>ul>li>a{padding-left:13px;padding-right:13px;}header#top nav>ul>li.button_solid_color>a,body #header-outer.transparent header#top nav>ul>li.button_solid_color>a,#header-outer[data-lhe="animated_underline"] header#top nav>ul>li.button_solid_color>a{padding-left:23px!important;padding-right:23px!important;}header#top nav>ul>li.button_solid_color>a:before,#header-outer.transparent header#top nav>ul>li.button_solid_color>a:before{height:30.2px;}header#top nav>ul>li.button_bordered>a:before,#header-outer.transparent header#top nav>ul>li.button_bordered>a:before{height:40.2px;}header#top .sf-menu li ul li a,#header-secondary-outer nav>ul>li>a,#header-secondary-outer ul ul li a,#header-outer .widget_shopping_cart .cart_list a{font-family:Fjalla One;font-size:15px;line-height:15px;font-weight:400;}@media only screen and (min-width :1px) and (max-width :1000px){header#top .sf-menu a{font-family:Fjalla One!important;font-size:14px!important;}}#page-header-bg h1,body h1,body .row .col.section-title h1,.full-width-content .recent-post-container .inner-wrap h2{font-family:Josefin Sans;text-transform:uppercase;font-size:60px;line-height:65px;font-weight:600;}@media only screen and (max-width:1300px) and (min-width:1000px){body .row .col.section-title h1,body h1,.full-width-content .recent-post-container .inner-wrap h2{font-size:42px;line-height:45.5px;}}@media only screen and (max-width:1000px) and (min-width:690px){body .row .col.section-title h1,body h1{font-size:39px;line-height:42.25px;}.full-width-content .recent-post-container .inner-wrap h2{font-size:36px;line-height:39px;}}@media only screen and (max-width:690px){body .row .col.section-title h1,body h1{font-size:36px;line-height:39px;}.full-width-content .recent-post-container .inner-wrap h2{font-size:27px;line-height:29.25px;}}#page-header-bg h2,body h2,article.post .post-header h2,article.post.quote .post-content h2,article.post.link .post-content h2,article.post.format-status .post-content h2,#call-to-action span,.woocommerce .full-width-tabs #reviews h3,.row .col.section-title h2{font-family:Josefin Sans;font-size:50px;line-height:50px;font-weight:600;}@media only screen and (max-width:1300px) and (min-width:1000px){body h2{font-size:42.5px;line-height:42.5px;}.row .span_2 h2,.row .span_3 h2,.row .span_4 h2,.row .vc_col-sm-2 h2,.row .vc_col-sm-3 h2,.row .vc_col-sm-4 h2{font-size:35px;line-height:35px;}}@media only screen and (max-width:690px){.col h2{font-size:42.5px;line-height:42.5px;}}body h3,.row .col h3,.toggle h3 a,.ascend #respond h3,.ascend h3#comments,.woocommerce ul.products li.product.text_on_hover h3,.masonry.classic_enhanced .masonry-blog-item h3.title{font-family:Josefin Sans;font-size:40px;line-height:40px;font-weight:600;}@media only screen and (min-width:1000px){.ascend .comments-section .comment-wrap.full-width-section>h3,.blog_next_prev_buttons[data-post-header-style="default_minimal"] .col h3{font-size:68px!important;line-height:76px!important;}.masonry.classic_enhanced .masonry-blog-item.large_featured h3.title{font-size:60px!important;line-height:60px!important;}}@media only screen and (min-width:1300px) and (max-width:1500px){body .portfolio-items.constrain-max-cols.masonry-items .col.elastic-portfolio-item h3{font-size:34px!important;line-height:34px;}}@media only screen and (max-width:1300px) and (min-width:1000px),(max-width:690px){.row .span_2 h3,.row .span_3 h3,.row .span_4 h3,.row .vc_col-sm-2 h3,.row .vc_col-sm-3 h3,.row .vc_col-sm-4 h3{font-size:28px;line-height:28px;}}body h4,.row .col h4,.portfolio-items .work-meta h4,.list-icon-holder[data-icon_type="numerical"] span,.portfolio-items .col.span_3 .work-meta h4,#respond h3,h3#comments,.portfolio-items[data-ps="6"] .work-meta h4{font-family:Josefin Sans;font-size:30px;line-height:33px;font-weight:600;}@media only screen and (min-width:690px){.portfolio-items[data-ps="6"] .wide_tall .work-meta h4{font-size:51px!important;line-height:59px!important;}}body h5,.row .col h5,.portfolio-items .work-item.style-3-alt p{font-family:Josefin Sans;}body .wpb_column>.wpb_wrapper>.morphing-outline .inner>h5{font-size:;}body h6,.row .col h6{font-family:Josefin Sans;}body i,body em,.masonry.meta_overlaid article.post .post-header .meta-author>span,#post-area.masonry.meta_overlaid article.post .post-meta .date,#post-area.masonry.meta_overlaid article.post.quote .quote-inner .author,#post-area.masonry.meta_overlaid article.post.link .post-content .destination{font-family:Josefin Sans;font-weight:300;font-style:italic}form label,.woocommerce-checkout-review-order-table .product-info .amount,.woocommerce-checkout-review-order-table .product-info .product-quantity,.nectar-progress-bar p,.nectar-progress-bar span strong i,.nectar-progress-bar span strong,.testimonial_slider blockquote span{}.nectar-dropcap{}body #page-header-bg h1,html body .row .col.section-title h1,.nectar-box-roll .overlaid-content h1{font-family:Fjalla One;font-size:40px;line-height:45px;font-weight:400;}@media only screen and (min-width:690px) and (max-width:1000px){#page-header-bg .span_6 h1,.overlaid-content h1{font-size:28px!important;line-height:32px!important;}}@media only screen and (min-width:1000px) and (max-width:1300px){#page-header-bg .span_6 h1,.nectar-box-roll .overlaid-content h1{font-size:34px;line-height:38.25px;}}@media only screen and (min-width:1300px) and (max-width:1500px){#page-header-bg .span_6 h1,.nectar-box-roll .overlaid-content h1{font-size:36px;line-height:40.5px;}}@media only screen and (max-width:690px){#page-header-bg.fullscreen-header .span_6 h1,.overlaid-content h1{font-size:18px!important;line-height:20.25px!important;}}body #page-header-bg .span_6 span.subheader,body .row .col.section-title>span,.nectar-box-roll .overlaid-content .subheader{font-family:Josefin Sans;}@media only screen and (min-width:1000px) and (max-width:1300px){body #page-header-bg:not(.fullscreen-header) .span_6 span.subheader,body .row .col.section-title>span{font-size:;line-height:;}}@media only screen and (min-width:690px) and (max-width:1000px){body #page-header-bg.fullscreen-header .span_6 span.subheader,.overlaid-content .subheader{font-size:;line-height:;}}@media only screen and (max-width:690px){body #page-header-bg.fullscreen-header .span_6 span.subheader,.overlaid-content .subheader{font-size:;line-height:;}}body #slide-out-widget-area .inner .off-canvas-menu-container li a,body #slide-out-widget-area.fullscreen .inner .off-canvas-menu-container li a,body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container li a{font-family:Fjalla One;font-size:20px;line-height:30px;font-weight:400;}@media only screen and (min-width:690px) and (max-width:1000px){body #slide-out-widget-area.fullscreen .inner .off-canvas-menu-container li a,body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container li a{font-size:18px!important;line-height:27px!important;}}@media only screen and (max-width:690px){body #slide-out-widget-area.fullscreen .inner .off-canvas-menu-container li a,body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container li a{font-size:14px!important;line-height:21px!important;}}#slide-out-widget-area .menuwrapper li small{}@media only screen and (min-width:690px) and (max-width:1000px){#slide-out-widget-area .menuwrapper li small{font-size:;line-height:;}}@media only screen and (max-width:690px){#slide-out-widget-area .menuwrapper li small{font-size:;line-height:;}}.swiper-slide .content h2{font-family:Arapey;text-transform:uppercase;font-size:80px;line-height:80px;font-weight:400;}@media only screen and (min-width:1000px) and (max-width:1300px){body .nectar-slider-wrap[data-full-width="true"] .swiper-slide .content h2,body .nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content h2,body .full-width-content .vc_span12 .swiper-slide .content h2{font-size:64px!important;line-height:64px!important;}}@media only screen and (min-width:690px) and (max-width:1000px){body .nectar-slider-wrap[data-full-width="true"] .swiper-slide .content h2,body .nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content h2,body .full-width-content .vc_span12 .swiper-slide .content h2{font-size:48px!important;line-height:48px!important;}}@media only screen and (max-width:690px){body .nectar-slider-wrap[data-full-width="true"] .swiper-slide .content h2,body .nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content h2,body .full-width-content .vc_span12 .swiper-slide .content h2{font-size:40px!important;line-height:40px!important;}}#featured article .post-title h2 span,.swiper-slide .content p,#portfolio-filters-inline #current-category,body .vc_text_separator div{}#portfolio-filters-inline ul{line-height:;}.swiper-slide .content p.transparent-bg span{}@media only screen and (min-width:1000px) and (max-width:1300px){.nectar-slider-wrap[data-full-width="true"] .swiper-slide .content p,.nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content p,.full-width-content .vc_span12 .swiper-slide .content p{font-size:;line-height:;}}@media only screen and (min-width:690px) and (max-width:1000px){.nectar-slider-wrap[data-full-width="true"] .swiper-slide .content p,.nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content p,.full-width-content .vc_span12 .swiper-slide .content p{font-size:;line-height:;}}@media only screen and (max-width:690px){body .nectar-slider-wrap[data-full-width="true"] .swiper-slide .content p,body .nectar-slider-wrap[data-full-width="boxed-full-width"] .swiper-slide .content p,body .full-width-content .vc_span12 .swiper-slide .content p{font-size:;line-height:;}}.testimonial_slider blockquote,.testimonial_slider blockquote span,blockquote{font-family:Satisfy;text-transform:none;font-size:20px;line-height:25px;font-weight:400;}#footer-outer .widget h4,#sidebar h4,#call-to-action .container a,.uppercase,.nectar-button,.nectar-button.medium,.nectar-button.small,.nectar-3d-transparent-button,body .widget_calendar table th,body #footer-outer #footer-widgets .col .widget_calendar table th,.swiper-slide .button a,header#top nav>ul>li.megamenu>ul>li>a,.carousel-heading h2,body .gform_wrapper .top_label .gfield_label,body .vc_pie_chart .wpb_pie_chart_heading,#infscr-loading div,#page-header-bg .author-section a,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.ascend input[type="submit"],.ascend button[type="submit"],.widget h4,.text-on-hover-wrap .categories a,.text_on_hover.product .add_to_cart_button,.woocommerce-page div[data-project-style="text_on_hover"] .single_add_to_cart_button,.woocommerce div[data-project-style="text_on_hover"] .cart .quantity input.qty,.woocommerce-page #respond input#submit,.meta_overlaid article.post .post-header h2,.meta_overlaid article.post.quote .post-content h2,.meta_overlaid article.post.link .post-content h2,.meta_overlaid article.post.format-status .post-content h2,.meta_overlaid article .meta-author a,.pricing-column.highlight h3 .highlight-reason,.blog-recent[data-style="minimal"] .col>span,.masonry.classic_enhanced .posts-container article .meta-category a,.nectar-recent-posts-slider .container .strong,#page-header-bg[data-post-hs="default_minimal"] .inner-wrap>a,.single .heading-title[data-header-style="default_minimal"] .meta-category a,.nectar-fancy-box .link-text{font-family:Josefin Slab;font-size:15px;font-weight:normal;}.team-member h4,.row .col.section-title p,.row .col.section-title span,#page-header-bg .subheader,.nectar-milestone .subject,.testimonial_slider blockquote span{font-family:Josefin Sans;}article.post .post-meta .month{line-height:-6px!important;}
  </style>
  <script>
   (function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){
            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
            })(window,document,"script","//www.google-analytics.com/analytics.js","ga");
                        ga("create", "UA-51930403-4", "auto");
                        
                      
                        ga("send", "pageview");
  </script>
  <meta content="Powered by Visual Composer - drag and drop page builder for WordPress." name="generator"/>
  <!--[if lte IE 9]><link rel="stylesheet" type="text/css" href="https://www.volodaily.com/wp-content/plugins/js_composer_salient/assets/css/vc_lte_ie9.min.css" media="screen"><![endif]-->
  <!--[if IE  8]><link rel="stylesheet" type="text/css" href="https://www.volodaily.com/wp-content/plugins/js_composer_salient/assets/css/vc-ie8.min.css" media="screen"><![endif]-->
  <meta content="Powered by Slider Revolution 5.3.1.5 - responsive, Mobile-Friendly Slider Plugin for WordPress with comfortable drag and drop interface." name="generator"/>
  <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-51930403-4', 'auto');
  ga('send', 'pageview');
  </script>
  <noscript>
   <style type="text/css">
    .wpb_animate_when_almost_visible{opacity:1;}
   </style>
  </noscript>
  <script data-cfasync="false" data-no-minify="1">
   (function(w,d){function a(){var b=d.createElement("script");b.async=!0;b.src="https://www.volodaily.com/wp-content/plugins/wp-rocket/inc/front/js/lazyload.1.0.5.min.js";var a=d.getElementsByTagName("script")[0];a.parentNode.insertBefore(b,a)}w.attachEvent?w.attachEvent("onload",a):w.addEventListener("load",a,!1)})(window,document);
  </script>
 </head>
 <body class="post-template-default single single-post postid-118750 single-format-standard unselectable wpb-js-composer js-comp-ver-4.11.2 vc_responsive" data-aie="none" data-ajax-transitions="false" data-animated-anchors="true" data-apte="standard" data-bg-header="false" data-button-style="default" data-cad="650" data-cae="linear" data-ext-responsive="true" data-fancy-form-rcs="default" data-footer-reveal="false" data-footer-reveal-shadow="none" data-form-style="default" data-full-width-header="false" data-header-color="light" data-header-inherit-rc="false" data-header-resize="1" data-header-search="false" data-hhun="0" data-is="minimal" data-loading-animation="none" data-ls="none" data-permanent-transparent="false" data-responsive="1" data-slide-out-widget-area="true" data-slide-out-widget-area-style="slide-out-from-right" data-smooth-scrolling="0" data-user-set-ocm="off">
  <div data-header-mobile-fixed="1" id="header-space">
  </div>
  <div data-cart="true" data-format="centered-menu-under-logo" data-full-width="false" data-has-menu="true" data-header-resize="1" data-lhe="animated_underline" data-logo-height="80" data-m-logo-height="25" data-mobile-fixed="1" data-padding="28" data-permanent-transparent="false" data-ptnm="false" data-shrink-num="6" data-transparency-option="" data-user-set-bg="#ffffff" data-using-logo="1" data-using-secondary="0" id="header-outer">
   <div class="nectar" id="search-outer">
    <div id="search">
     <div class="container">
      <div id="search-box">
       <div class="col span_12">
        <form action="https://www.volodaily.com" method="GET">
         <input data-placeholder="Start Typing..." id="s" name="s" type="text" value="Start Typing..."/>
        </form>
       </div>
      </div>
      <div id="close">
       <a href="#">
        <span aria-hidden="true" class="icon-salient-x">
        </span>
       </a>
      </div>
     </div>
    </div>
   </div>
   <header id="top">
    <div class="container">
     <div class="row">
      <div class="col span_3">
       <a href="https://www.volodaily.com" id="logo">
        <img alt="VOLO Daily" class="stnd default-logo" src="https://www.volodaily.com/wp-content/uploads/2016/09/VOLOWebsiteTopBar.png"/>
        <img alt="VOLO Daily" class="retina-logo " src="https://www.volodaily.com/wp-content/uploads/2016/09/VOLOWebsiteTopBar.png"/>
       </a>
      </div>
      <div class="col span_9 col_last">
       <a href="https://www.volodaily.com/cart/" id="mobile-cart-link">
        <i class="icon-salient-cart">
        </i>
       </a>
       <div class="slide-out-widget-area-toggle mobile-icon slide-out-from-right" data-icon-animation="simple-transform">
        <div>
         <a class="closed" href="#sidewidgetarea">
          <span>
           <i class="lines-button x2">
            <i class="lines">
            </i>
           </i>
          </span>
         </a>
        </div>
       </div>
       <nav>
        <ul class="buttons" data-user-set-ocm="off">
         <li id="search-btn">
          <div>
           <a href="#searchbox">
            <span aria-hidden="true" class="icon-salient-search">
            </span>
           </a>
          </div>
         </li>
         <li class="slide-out-widget-area-toggle" data-icon-animation="simple-transform">
          <div>
           <a class="closed" href="#sidewidgetarea">
            <span>
             <i class="lines-button x2">
              <i class="lines">
              </i>
             </i>
            </span>
           </a>
          </div>
         </li>
        </ul>
        <ul class="sf-menu">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157380" id="menu-item-157380">
          <a href="http://www.volomagazine.com">
           HOME
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children sf-with-ul menu-item-106745" id="menu-item-106745">
          <a href="https://www.volodaily.com/issues/">
           MAGAZINE
           <span class="sf-sub-indicator">
            <i class="icon-angle-down">
            </i>
           </span>
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-103904" id="menu-item-103904">
            <a href="https://www.volodaily.com/issues/">
             DIGITAL ISSUES
            </a>
           </li>
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104152" id="menu-item-104152">
            <a href="https://www.volodaily.com/print-issues/">
             BUY IN PRINT
            </a>
           </li>
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-128854" id="menu-item-128854">
            <a href="https://www.volodaily.com/subscribe/">
             SUBSCRIPTIONS
            </a>
           </li>
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2235" id="menu-item-2235">
            <a href="https://www.volodaily.com/legal-terms-of-use/">
             LEGAL
            </a>
           </li>
          </ul>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children sf-with-ul menu-item-125975" id="menu-item-125975">
          <a href="https://www.volodaily.com/vault/">
           EXCLUSIVES
           <span class="sf-sub-indicator">
            <i class="icon-angle-down">
            </i>
           </span>
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-160718" id="menu-item-160718">
            <a href="https://www.volodaily.com/vault/">
             THE VOLO VAULT
            </a>
           </li>
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-167058" id="menu-item-167058">
            <a href="https://www.volodaily.com/volo-nude-art-video-stream/">
             VOLO VIDEO THEATER
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-160719" id="menu-item-160719">
            <a href="https://www.vologlam.com/blog/category/glamgirl/">
             GLAM GIRLS
            </a>
           </li>
          </ul>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-109465" id="menu-item-109465">
          <a href="https://voloart.gallery">
           FRAMED ART
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157381" id="menu-item-157381">
          <a href="http://www.volomagazine.com/nude-photography-news/">
           BLOG
          </a>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children sf-with-ul menu-item-113599" id="menu-item-113599">
          <a href="https://www.volodaily.com/social/">
           VOLO.SOCIAL
           <span class="sf-sub-indicator">
            <i class="icon-angle-down">
            </i>
           </span>
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-129441" id="menu-item-129441">
            <a href="https://www.volodaily.com/social/">
             FREE THE NIPPLE
            </a>
           </li>
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-129440" id="menu-item-129440">
            <a href="https://www.volodaily.com/hashtagvolomagazine/">
             #VOLOMAGAZINE
            </a>
           </li>
          </ul>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173036" id="menu-item-173036">
          <a href="https://www.volodaily.com/wall/">
           THE ART WALL
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children sf-with-ul menu-item-147057" id="menu-item-147057">
          <a href="http://www.volomagazine.com/submit/">
           R YOU VOLO?
           <span class="sf-sub-indicator">
            <i class="icon-angle-down">
            </i>
           </span>
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157382" id="menu-item-157382">
            <a href="http://VOLO.PHOTOGRAPHY">
             AWARDS
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157383" id="menu-item-157383">
            <a href="http://www.volomagazine.com/photographers/">
             PHOTOGRAPHERS
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157384" id="menu-item-157384">
            <a href="http://www.volomagazine.com/models/">
             MODELS
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157386" id="menu-item-157386">
            <a href="http://www.volomagazine.com/submit/">
             SHOOT FOR VOLO
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157387" id="menu-item-157387">
            <a href="http://www.volomagazine.com/model-for-volo/">
             BE A VOLO MODEL
            </a>
           </li>
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-157652" id="menu-item-157652">
            <a href="https://www.volodaily.com/hashtagvolomagazine/">
             #VOLO
            </a>
           </li>
          </ul>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children sf-with-ul menu-item-52622" id="menu-item-52622">
          <a href="https://www.volodaily.com/login/">
           LOGIN
           <span class="sf-sub-indicator">
            <i class="icon-angle-down">
            </i>
           </span>
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-105728" id="menu-item-105728">
            <a href="https://www.volodaily.com/login/">
             Login
            </a>
           </li>
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-52621" id="menu-item-52621">
            <a href="https://www.volodaily.com/register/">
             Register
            </a>
           </li>
           <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2029" id="menu-item-2029">
            <a href="https://www.volodaily.com/faq/">
             FAQ
            </a>
           </li>
          </ul>
         </li>
        </ul>
       </nav>
      </div>
     </div>
    </div>
   </header>
   <div class="cart-outer" data-user-set-ocm="off">
    <div class="cart-menu-wrap">
     <div class="cart-menu">
      <a class="cart-contents" href="https://www.volodaily.com/cart/">
       <div class="cart-icon-wrap">
        <i class="icon-salient-cart">
        </i>
        <div class="cart-wrap">
         <span>
          0
         </span>
        </div>
       </div>
      </a>
     </div>
    </div>
    <div class="cart-notification">
     <span class="item-name">
     </span>
     was successfully added to your cart.
    </div>
    <div class="widget woocommerce widget_shopping_cart">
     <h2 class="widgettitle">
     </h2>
     <div class="widget_shopping_cart_content">
     </div>
    </div>
   </div>
   <div class="ns-loading-cover">
   </div>
  </div>
  <div data-mobile-fixed="1" id="mobile-menu">
   <div class="container">
    <ul>
     <li>
      <a href="">
       No menu assigned!
      </a>
     </li>
    </ul>
   </div>
  </div>
  <div data-disable-fade-on-click="1" data-effect="standard" data-method="ajax" id="ajax-loading-screen">
   <span class="loading-icon none">
    <span class="default-skin-loading-icon">
    </span>
   </span>
  </div>
  <div id="ajax-content-wrap">
   <div class="container-wrap no-sidebar">
    <div class="container main-content">
     <div class="row heading-title" data-header-style="default">
      <div class="col span_12 section-title blog-title">
       <h1 class="entry-title">
        ‘Ocean Flavor’ by Igor Koshelev
       </h1>
       <div id="single-below-header">
        <span class="meta-author vcard author">
         <span class="fn">
          By
          <a href="https://www.volodaily.com/author/dailyvolo/" rel="author" title="Posts by dailyvolo">
           dailyvolo
          </a>
         </span>
        </span>
        <span class="meta-date date updated">
         05/03/2016
        </span>
        <span class="meta-category">
        </span>
       </div>
      </div>
     </div>
    </div>
   </div>
  </div>
 </body>
</html>
<div data-sharing="1" id="single-meta">
 <ul>
  <li class="meta-comment-count">
   <a href="https://www.volodaily.com/ocean-flavor-by-igor-koshelev/#respond">
    <i class="icon-default-style steadysets-icon-chat">
    </i>
    No Comments
   </a>
  </li>
  <li>
   <span class="n-shortcode">
    <a class="nectar-love" href="#" id="nectar-love-118750" title="Love this">
     <i class="icon-salient-heart">
     </i>
     <span class="nectar-love-count">
      29
     </span>
    </a>
   </span>
  </li>
  <li class="meta-share-count">
   <a href="#">
    <i class="icon-default-style steadysets-icon-share">
    </i>
    <span class="share-count-total">
     0
    </span>
   </a>
   <div class="nectar-social">
    <a class="facebook-share nectar-sharing" href="#" title="Share this">
     <i class="icon-facebook">
     </i>
     <span class="count">
     </span>
    </a>
    <a class="twitter-share nectar-sharing" href="#" title="Tweet this">
     <i class="icon-twitter">
     </i>
     <span class="count">
     </span>
    </a>
    <a class="google-plus-share nectar-sharing-alt" href="#" title="Share this">
     <i class="icon-google-plus">
     </i>
     <span class="count">
      0
     </span>
    </a>
    <a class="pinterest-share nectar-sharing" href="#" title="Pin this">
     <i class="icon-pinterest">
     </i>
     <span class="count">
     </span>
    </a>
   </div>
  </li>
 </ul>
</div>
<div class="row">
 <div class="col span_12 col_last" id="post-area">
  <span style="display:none;">
   v-entry-1
  </span>
  <article class="regular post-118750 post type-post status-publish format-standard has-post-thumbnail hentry category-timeline tag-boobs tag-flirt tag-igor-koshelev tag-ocean" id="post-118750">
   <div class="post-content">
    <div class="content-inner entry">
     <div class="wpb_row vc_row-fluid vc_row full-width-content standard_section " data-bg-mobile-hidden="" data-midnight="dark" id="fws_58a41d4de2e22" style="padding-top: 0px; padding-bottom: 0px; ">
      <div class="row-bg-wrap">
       <div class="row-bg " data-color_overlay="" data-color_overlay_2="" data-enable_gradient="false" data-gradient_direction="" data-overlay_strength="0.3" style="">
       </div>
      </div>
      <div class="col span_12 dark center">
       <div class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding" data-animation="" data-bg-color="" data-bg-cover="" data-bg-opacity="1" data-delay="0" data-has-bg-color="false" data-hover-bg="" data-hover-bg-opacity="1" data-padding-pos="all">
        <div class="vc_column-inner">
         <div class="wpb_wrapper">
          <div class="wpb_text_column wpb_content_element ">
           <div class="wpb_wrapper">
            <p>
             <img alt="oceanflavor by Igor Koshelev" class="aligncenter size-full wp-image-118753" height="1080" src="https://s3.amazonaws.com/dailyvolo/wp-content/uploads/2016/05/03164021/oceanflavor-by-Igor-Koshelev.jpg" width="718"/>
            </p>
           </div>
          </div>
         </div>
        </div>
       </div>
      </div>
     </div>
     <div class="wpb_row vc_row-fluid vc_row standard_section " data-bg-mobile-hidden="" data-midnight="dark" id="fws_58a41d4de33db" style="padding-top: 0px; padding-bottom: 0px; ">
      <div class="row-bg-wrap">
       <div class="row-bg " data-color_overlay="" data-color_overlay_2="" data-enable_gradient="false" data-gradient_direction="" data-overlay_strength="0.3" style="">
       </div>
      </div>
      <div class="col span_12 dark center">
       <div class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding" data-animation="" data-bg-color="" data-bg-cover="" data-bg-opacity="1" data-delay="0" data-has-bg-color="false" data-hover-bg="" data-hover-bg-opacity="1" data-padding-pos="all">
        <div class="vc_column-inner">
         <div class="wpb_wrapper">
          <div class="wpb_text_column wpb_content_element ">
           <div class="wpb_wrapper">
            <p style="text-align: center;">
             <div class="tilt-button-wrap">
              <div class="tilt-button-inner">
               <a class="nectar-button medium extra-color-1 tilt has-icon" data-color-override="false" data-hover-color-override="#f6653c" data-hover-text-color-override="#000" href="/subscribe">
                <span>
                 TRY VOLO NOW - Only $0.99
                </span>
                <i class="fa-shopping-cart">
                </i>
               </a>
              </div>
             </div>
            </p>
           </div>
          </div>
         </div>
        </div>
       </div>
      </div>
     </div>
     <div class="wpb_row vc_row-fluid vc_row standard_section " data-bg-mobile-hidden="" data-midnight="dark" id="fws_58a41d4de3a3a" style="padding-top: 0px; padding-bottom: 0px; ">
      <div class="row-bg-wrap">
       <div class="row-bg " data-color_overlay="" data-color_overlay_2="" data-enable_gradient="false" data-gradient_direction="" data-overlay_strength="0.3" style="">
       </div>
      </div>
      <div class="col span_12 dark left">
       <div class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding" data-animation="" data-bg-color="" data-bg-cover="" data-bg-opacity="1" data-delay="0" data-has-bg-color="false" data-hover-bg="" data-hover-bg-opacity="1" data-padding-pos="all">
        <div class="vc_column-inner">
         <div class="wpb_wrapper">
          <div class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_dashed vc_sep_border_width_4 vc_sep_pos_align_center vc_sep_color_orange vc_separator-has-text">
           <span class="vc_sep_holder vc_sep_holder_l">
            <span class="vc_sep_line">
            </span>
           </span>
           <h4>
            For the cost of One cup of coffee You will help grow the influence of quality nude art around the world...
           </h4>
           <span class="vc_sep_holder vc_sep_holder_r">
            <span class="vc_sep_line">
            </span>
           </span>
          </div>
         </div>
        </div>
       </div>
      </div>
     </div>
     <iframe allowtransparency="true" data-lazy-src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.volodaily.com%2Focean-flavor-by-igor-koshelev%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" frameborder="0" scrolling="no" src="data:image/gif;base64,R0lGODdhAQABAPAAAP///wAAACwAAAAAAQABAEACAkQBADs=" style="border:none; overflow:hidden; width:450px; height:60px;">
     </iframe>
     <div class="spu-placeholder" style="display:none">
     </div>
    </div>
   </div>
  </article>
  <div class="comments-section">
   <div class="comment-wrap ">
   </div>
  </div>
 </div>
</div>
<div class="row">
</div>
<div data-midnight="light" data-using-widget-area="true" id="footer-outer">
 <div id="footer-widgets">
  <div class="container">
   <div class="row">
    <div class="col span_3">
     <div class="widget widget_nav_menu" id="nav_menu-2">
      <h4>
       WORLD OF VOLO
      </h4>
      <div class="menu-glossary-container">
       <ul class="menu" id="menu-glossary">
        <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-154589" id="menu-item-154589">
         <a href="http://www.volomagazine.com/nude-photography/">
          Definition of Nude Photography
         </a>
        </li>
        <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157234" id="menu-item-157234">
         <a href="http://www.volomagazine.com/nude-photography-news/">
          Nude Photography News
         </a>
        </li>
        <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157235" id="menu-item-157235">
         <a href="http://www.vologlam.com">
          VOLO GLAM – Men’s Magazine
         </a>
        </li>
       </ul>
      </div>
     </div>
    </div>
    <div class="col span_3">
     <div class="widget widget_text" id="text-6">
      <h4>
       MORE VOLO
      </h4>
      <div class="textwidget">
       <p>
        <a href="http://www.volomodels.com" target="_new">
         VOLOMODELS.COM
        </a>
       </p>
      </div>
     </div>
    </div>
    <div class="col span_3">
     <div class="widget widget_text" id="text-4">
      <div class="textwidget">
       <div class="sbi sbi_col_3" data-cols="3" data-id="287466230" data-num="12" data-options='{"showcaption": "", "captionlength": "50", "captioncolor": "", "captionsize": "13", "showlikes": "", "likescolor": "", "likessize": "13", "sortby": "none", "hashtag": "volomagazine", "type": "user", "hovercolor": "0,0,0", "hovertextcolor": "0,0,0", "hoverdisplay": "username,icon,date,instagram,", "hovereffect": "fade", "headercolor": "fcfcfc", "headerprimarycolor": "ef0b48", "headersecondarycolor": "3ec9c9", "disablelightbox": "false", "disablecache": "false", "location": "", "coordinates": "", "single": "", "maxrequests": "5", "headerstyle": "circle", "showfollowers": "true", "showbio": "false", "carousel": "[false, false, true, false, 5000]", "imagepadding": "1", "imagepaddingunit": "px", "media": "all", "includewords": "#volomagazine, #vologlam", "excludewords": "#skynmagazine, #arsenic, #arsenicmagazine, #treatsmagazine, #impliedmagazine #uncoveredmagazine", "sbiCacheExists": "false", "sbiHeaderCache": "false"}' data-res="medium" id="sb_instagram" style="width:100%; padding-bottom: 2px; ">
        <div class="sb_instagram_header sbi_feed_type_user" style="padding: 1px 2px; margin-bottom: 10px;">
        </div>
        <div id="sbi_images" style="padding: 1px;">
         <div class="sbi_loader fa-spin">
         </div>
        </div>
        <div id="sbi_load">
         <div class="sbi_follow_btn">
          <a href="https://instagram.com/" style="background: #e80953; " target="_blank">
           <i class="fa fa-instagram">
           </i>
           Follow on Instagram
          </a>
         </div>
        </div>
       </div>
       <script type="text/javascript">
        var sb_instagram_js_options = {"sb_instagram_at":"287466230.3a81a9f.301744f189e049b7927341d53e1dcb79", "sb_instagram_hide_photos":"BIqwvgFg_ek,BIq0SlGADps", "sb_instagram_block_users":"jessica.dlake,highiso_photography,samanthagoode"};
       </script>
       <script src="https://www.volodaily.com/wp-content/plugins/instagram-feed-pro/js/sb-instagram.js?ver=2.3" type="text/javascript">
       </script>
      </div>
     </div>
    </div>
    <!--/span_3-->
    <div class="col span_3">
     <!-- Footer widget area 4 -->
     <div class="widget widget_search" id="search-3">
      <h4>
       Search
      </h4>
      <form action="https://www.volodaily.com/" class="search-form" method="get" role="search">
       <input class="search-field" name="s" placeholder="Search..." title="Search for:" type="text" value=""/>
       <input class="search-submit" type="submit" value="Search"/>
      </form>
     </div>
     <div class="widget widget_FacebookLikeBox" id="facebooklikebox-2">
      <h4>
       Find Us on Facebook
      </h4>
      <div id="fb-root">
      </div>
      <script>
       (function(d, s, id) {  
 var js, fjs = d.getElementsByTagName(s)[0]; 
  if (d.getElementById(id)) return; 
  js = d.createElement(s); js.id = id; 
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3"; 
  fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));
      </script>
      <div class="fb-page" data-height="250" data-hide-cover="true" data-href="https://www.facebook.com/voloart" data-show-facepile="true" data-show-posts="false" data-width="250">
       <div class="fb-xfbml-parse-ignore">
        <blockquote cite="https://www.facebook.com/voloart">
         <a href="https://www.facebook.com/voloart">
          Facebook
         </a>
        </blockquote>
       </div>
      </div>
     </div>
    </div>
    <!--/span_3-->
   </div>
   <!--/row-->
  </div>
  <!--/container-->
 </div>
 <!--/footer-widgets-->
 <div class="row" id="copyright">
  <div class="container">
   <div class="col span_5">
    <p>
     ©2016 VOLO MAGAZINE LLC.
    </p>
   </div>
   <!--/span_5-->
   <div class="col span_7 col_last">
    <ul id="social">
     <li>
      <a href="" target="_blank">
       <i class="icon-facebook">
       </i>
      </a>
     </li>
     <li>
      <a href="" target="_blank">
       <i class="icon-pinterest">
       </i>
      </a>
     </li>
     <li>
      <a href="" target="_blank">
       <i class="icon-instagram">
       </i>
      </a>
     </li>
    </ul>
   </div>
   <!--/span_7-->
  </div>
  <!--/container-->
 </div>
 <!--/row-->
</div>
<!--/footer-outer-->
<div class="slide-out-from-right dark" id="slide-out-widget-area-bg">
</div>
<div class="slide-out-from-right" data-back-txt="Back" id="slide-out-widget-area">
 <div class="inner">
  <a class="slide_out_area_close" href="#">
   <span class="icon-salient-x icon-default-style">
   </span>
  </a>
  <div class="off-canvas-menu-container mobile-only">
   <ul class="menu">
    <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157380">
     <a href="http://www.volomagazine.com">
      HOME
     </a>
    </li>
    <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-106745">
     <a href="https://www.volodaily.com/issues/">
      MAGAZINE
     </a>
     <ul class="sub-menu">
      <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-103904">
       <a href="https://www.volodaily.com/issues/">
        DIGITAL ISSUES
       </a>
      </li>
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104152">
       <a href="https://www.volodaily.com/print-issues/">
        BUY IN PRINT
       </a>
      </li>
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-128854">
       <a href="https://www.volodaily.com/subscribe/">
        SUBSCRIPTIONS
       </a>
      </li>
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2235">
       <a href="https://www.volodaily.com/legal-terms-of-use/">
        LEGAL
       </a>
      </li>
     </ul>
    </li>
    <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-125975">
     <a href="https://www.volodaily.com/vault/">
      EXCLUSIVES
     </a>
     <ul class="sub-menu">
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-160718">
       <a href="https://www.volodaily.com/vault/">
        THE VOLO VAULT
       </a>
      </li>
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-167058">
       <a href="https://www.volodaily.com/volo-nude-art-video-stream/">
        VOLO VIDEO THEATER
       </a>
      </li>
      <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-160719">
       <a href="https://www.vologlam.com/blog/category/glamgirl/">
        GLAM GIRLS
       </a>
      </li>
     </ul>
    </li>
    <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-109465">
     <a href="https://voloart.gallery">
      FRAMED ART
     </a>
    </li>
    <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157381">
     <a href="http://www.volomagazine.com/nude-photography-news/">
      BLOG
     </a>
    </li>
    <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-113599">
     <a href="https://www.volodaily.com/social/">
      VOLO.SOCIAL
     </a>
     <ul class="sub-menu">
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-129441">
       <a href="https://www.volodaily.com/social/">
        FREE THE NIPPLE
       </a>
      </li>
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-129440">
       <a href="https://www.volodaily.com/hashtagvolomagazine/">
        #VOLOMAGAZINE
       </a>
      </li>
     </ul>
    </li>
    <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173036">
     <a href="https://www.volodaily.com/wall/">
      THE ART WALL
     </a>
    </li>
    <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-147057">
     <a href="http://www.volomagazine.com/submit/">
      R YOU VOLO?
     </a>
     <ul class="sub-menu">
      <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157382">
       <a href="http://VOLO.PHOTOGRAPHY">
        AWARDS
       </a>
      </li>
      <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157383">
       <a href="http://www.volomagazine.com/photographers/">
        PHOTOGRAPHERS
       </a>
      </li>
      <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157384">
       <a href="http://www.volomagazine.com/models/">
        MODELS
       </a>
      </li>
      <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157386">
       <a href="http://www.volomagazine.com/submit/">
        SHOOT FOR VOLO
       </a>
      </li>
      <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157387">
       <a href="http://www.volomagazine.com/model-for-volo/">
        BE A VOLO MODEL
       </a>
      </li>
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-157652">
       <a href="https://www.volodaily.com/hashtagvolomagazine/">
        #VOLO
       </a>
      </li>
     </ul>
    </li>
    <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-52622">
     <a href="https://www.volodaily.com/login/">
      LOGIN
     </a>
     <ul class="sub-menu">
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-105728">
       <a href="https://www.volodaily.com/login/">
        Login
       </a>
      </li>
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-52621">
       <a href="https://www.volodaily.com/register/">
        Register
       </a>
      </li>
      <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2029">
       <a href="https://www.volodaily.com/faq/">
        FAQ
       </a>
      </li>
     </ul>
    </li>
   </ul>
  </div>
 </div>
 <div class="bottom-meta-wrap">
 </div>
 <!--/bottom-meta-wrap-->
</div>
<!--/ajax-content-wrap-->
<a class="" id="to-top">
 <i class="icon-angle-up">
 </i>
</a>
<style type="text/css">
 .cjfm-form{
	max-width: 100%;
}
.control-group i.fa{
	top: 10px;
	right: 10px;
}
.control-group.select i.fa{
	top: 10px;
	right: 22px;
}
.cjfm-form .cjfm-btn{
	background: #5cb85c;
	border: 1px solid #48a448;
	color: #ffffff;
}
.cjfm-form .cjfm-btn:hover{
	background: #48a448;
	border: 1px solid #48a448;
	color: #ffffff;
}
.cjfm-form-custom{
    background-color: inherit;
    background-image: inherit;
    background-repeat: inherit;
    background-size: inherit;
    background-position: inherit;
    background-attachment: inherit;
    color: ;
    padding: 0px 0px 0px 0px;
}
.cjfm-form-custom a{
	color: ;
}
.cjfm-form-custom a:hover{
	color: ;
}
.cjfm-form-custom .cjfm-btn{
	background: #5cb85c;
	border: 1px solid #48a448;
	color: #ffffff;
}
.cjfm-form-custom .cjfm-btn:hover{
	background: #48a448;
	border: 1px solid #48a448;
	color: #ffffff;
}
</style>
<style type="text/css">
 /* add custom css code */
</style>
<script type="text/javascript">
 /* add custom javascript code */
</script>
<script src="https://www.google.com/recaptcha/api.js?hl=en&amp;onload=cjfm_recaptcha_callback&amp;render=explicit">
</script>
<script type="text/javascript">
 var cjfm_recaptcha_callback = function(){
		var gcaptchas = document.getElementsByClassName('g-recaptcha');
		for (var i = gcaptchas.length - 1; i >= 0; i--) {
			grecaptcha.render(gcaptchas[i].id, {
				'sitekey' : '6LcKHhQTAAAAAIOtPWRinn8VSKw6u5yGx2M-WY_u',
				'theme' : 'light',
			});
		};
	}
</script>
<div class="cjfm-modalbox " style="display:none;">
</div>
<div class="" id="cjfm-modalbox-login-form" style="display:none;">
 <h3>
  Login to your account
 </h3>
 <div class="cjfm-modalbox-login-content">
  <div class="cjfm-form cjfm-login-form ">
   <form action="https://www.volodaily.com:443/ocean-flavor-by-igor-koshelev/" data-redirect="https://www.volodaily.com" method="post">
    <span class="cjfm-loading">
    </span>
    <input id="cjfm_do_login_nonce" name="cjfm_do_login_nonce" type="hidden" value="cc12226939"/>
    <div class="control-group textbox" id="container-login_form_user_login">
     <label class="control-label" for="login_form_user_login">
      <span class="label-login_form_user_login">
       Username or Email address:
       <span class="cjfm-required">
        *
       </span>
      </span>
     </label>
     <span class="cjfm-relative">
      <input class="form-control form-type-login login_form_user_login" id="login_form_user_login" name="login_form_user_login" placeholder="" type="text" value="">
       <i class="fa fa-user">
       </i>
      </input>
     </span>
    </div>
    <div class="control-group password" id="container-login_form_user_pass">
     <label class="control-label" for="login_form_user_pass">
      <span class="label-login_form_user_pass">
       Password:
       <span class="cjfm-required">
        *
       </span>
      </span>
     </label>
     <span class="cjfm-relative">
      <input class="form-control form-type-login login_form_user_pass" id="login_form_user_pass" name="login_form_user_pass" placeholder="" type="password" value="">
       <i class="fa fa-lock">
       </i>
      </input>
     </span>
    </div>
    <input id="redirect_url" name="redirect_url" type="hidden" value="https://www.volodaily.com">
     <div class="control-group submit-button">
      <button class="submit cjfm-btn cjfm-btn-default " id="do_login" name="do_login" type="submit">
       Login
      </button>
      <span class="cjfm-inline-block button-suffix">
       <label>
        <input name="remember_me" type="checkbox"/>
        Remember me
       </label>
      </span>
      <a class="button-suffix forgot-password-link" href="https://www.volodaily.com/recover-password/">
       Forgot password?
      </a>
     </div>
    </input>
   </form>
  </div>
 </div>
 <a class="cjfm-close-modalbox" href="#close">
  x
 </a>
</div>
<div class="" id="cjfm-modalbox-register-form" style="display:none;">
 <h3>
  Create an account
 </h3>
 <div class="cjfm-modalbox-register-content">
  <div class="cjfm-form cjfm-register-form cjfm-ajax-register-form">
   <form action="" autocomplete="off" data-redirect="https://www.volodaily.com" enctype="multipart/form-data" method="post">
    <span class="cjfm-loading">
    </span>
    <input id="cjfm_do_register_nonce" name="cjfm_do_register_nonce" type="hidden" value="ec29616116"/>
    <div class="control-group textbox" id="container-user_login">
     <label class="control-label" for="user_login">
      <span class="label-user_login">
       Choose Username
       <span class="required">
        *
       </span>
      </span>
     </label>
     <span class="cjfm-relative">
      <input class="form-control form-type-register user_login" id="user_login" name="user_login" placeholder="" required="" type="text" value="">
      </input>
     </span>
    </div>
    <div class="control-group email" id="container-user_email">
     <label class="control-label" for="user_email">
      <span class="label-user_email">
       Your email address
       <span class="required">
        *
       </span>
      </span>
     </label>
     <span class="cjfm-relative">
      <input class="form-control form-type-register user_email" id="user_email" name="user_email" placeholder="" required="" type="email" value="">
      </input>
     </span>
    </div>
    <div class="control-group cjfm-pw password" id="container-user_pass">
     <label class="control-label" for="user_pass">
      <span class="label-user_pass">
       Choose a password
       <span class="required">
        *
       </span>
       <span class="cjfm-pw-strength">
       </span>
      </span>
     </label>
     <span class="cjfm-relative">
      <input class="form-control form-type-register user_pass" id="user_pass" name="user_pass" placeholder="" required="" type="password" value="">
      </input>
     </span>
    </div>
    <div class="control-group cjfm-pw password" id="container-user_pass_conf">
     <label class="control-label" for="user_pass_conf">
      <span class="label-user_pass_conf">
       Type password again
       <span class="required">
        *
       </span>
       <span class="cjfm-pw-strength">
       </span>
      </span>
     </label>
     <span class="cjfm-relative">
      <input class="form-control form-type-register user_pass_conf" id="user_pass_conf" name="user_pass_conf" placeholder="" required="" type="password" value="">
      </input>
     </span>
    </div>
    <div class="control-group spam_protection">
     <div class="cjfm-custom-html">
      <div class="form-group">
       <div class="g-recaptcha" data-id="recaptcha_pvvmrv9ef584" data-sitekey="6LcKHhQTAAAAAIOtPWRinn8VSKw6u5yGx2M-WY_u" data-theme="light" id="recaptcha_pvvmrv9ef584">
       </div>
      </div>
     </div>
    </div>
    <input id="cjfm_user_role" name="cjfm_user_role" type="hidden" value="customer">
     <input id="cjfm_form_id" name="cjfm_form_id" type="hidden" value="1">
      <input id="redirect_url" name="redirect_url" type="hidden" value="https://www.volodaily.com">
       <div class="control-group submit-button">
        <button class="submit cjfm-btn cjfm-btn- cjfm-btn-default " id="cjfm_process_registration" name="cjfm_process_registration" type="submit">
         Create new account
        </button>
       </div>
      </input>
     </input>
    </input>
   </form>
  </div>
 </div>
 <a class="cjfm-close-modalbox" href="#close">
  x
 </a>
</div>
<span id="cjfm-ajax-url" style="display:none;">
 https://www.volodaily.com/wp-admin/admin-ajax.php
</span>
<!-- Custom Facebook Feed JS -->
<script type="text/javascript">
 var cfflinkhashtags = "true";
</script>
<!-- Instagram Feed JS -->
<script type="text/javascript">
 var sbiajaxurl = "https://www.volodaily.com/wp-admin/admin-ajax.php";
</script>
<div id="wccp_pro_mask">
</div>
<div class="msgmsg-box-wpcp warning-wpcp hideme" id="wpcp-error-message">
 <span>
  error:
 </span>
 <b>
  Alert:
 </b>
 Content is protected !!
</div>
<script>
 var timeout_result;
	function show_wccp_pro_message(smessage)
	{
		timeout = 3*1000;
		if (smessage !== "" && timeout!=0)
		{
			var smessage_text = smessage;
			jquery_fadeTo();
			document.getElementById("wpcp-error-message").innerHTML = smessage_text;
			document.getElementById("wpcp-error-message").className = "msgmsg-box-wpcp warning-wpcp showme";
			clearTimeout(timeout_result);
			timeout_result = setTimeout(hide_message, timeout);
		}
		else
		{
			clearTimeout(timeout_result);
			timeout_result = setTimeout(hide_message, timeout);
		}
	}
	function hide_message()
	{
		jquery_fadeOut();
		document.getElementById("wpcp-error-message").className = "msgmsg-box-wpcp warning-wpcp hideme";
	}
	function jquery_fadeTo()
	{
		try {
			jQuery("#wccp_pro_mask").fadeTo("slow", 0.3);
		}
		catch(err) {
			//alert(err.message);
			}
	}
	function jquery_fadeOut()
	{
		try {
			jQuery("#wccp_pro_mask").fadeOut( "slow" );
		}
		catch(err) {}
	}
</script>
<style type="text/css">
 #wccp_pro_mask
	{
		position: absolute;
		bottom: 0;
		left: 0;
		position: fixed;
		right: 0;
		top: 0;
		background-color: #000;
		pointer-events: none;
		display: none;
		z-index: 10000;
		animation: 0.5s ease 0s normal none 1 running ngdialog-fadein;
		background: rgba(0, 0, 0, 0.4) none repeat scroll 0 0;
	}
	#wpcp-error-message {
	    direction: ltr;
	    text-align: center;
	    transition: opacity 900ms ease 0s;
		pointer-events: none;
	    z-index: 99999999;
	}
	.hideme {
    	opacity:0;
    	visibility: hidden;
	}
	.showme {
    	opacity:1;
    	visibility: visible;
	}
	.msgmsg-box-wpcp {
		border-radius: 10px;
		color: #555555;
		font-family: Tahoma;
		font-size: 11px;
		margin: 10px;
		padding: 10px 36px;
		position: fixed;
		width: 255px;
		top: 50%;
  		left: 50%;
  		margin-top: -10px;
  		margin-left: -130px;
  		-webkit-box-shadow: 0px 0px 34px 2px #f2bfbf;
		-moz-box-shadow: 0px 0px 34px 2px #f2bfbf;
		box-shadow: 0px 0px 34px 2px #f2bfbf;
	}
	.msgmsg-box-wpcp b {
		font-weight:bold;
		text-transform:uppercase;
	}
	.error-wpcp {		background:#ffecec url('https://www.volodaily.com/wp-content/plugins/wccp-pro/images/error.png') no-repeat 10px 50%;
		border:1px solid #f5aca6;
	}
	.success {
		background:#e9ffd9 url('https://www.volodaily.com/wp-content/plugins/wccp-pro/images/success.png') no-repeat 10px 50%;
		border:1px solid #a6ca8a;
	}
	.warning-wpcp {
		background:#ffecec url('https://www.volodaily.com/wp-content/plugins/wccp-pro/images/warning.png') no-repeat 10px 50%;
		border:1px solid #f2bfbf;
	}
	.notice {
		background:#e3f7fc url('https://www.volodaily.com/wp-content/plugins/wccp-pro/images/notice.png') no-repeat 10px 50%;
		border:1px solid #8ed9f6;
	}
</style>
<input class="hideme" id="prntscr_disable_field" style="position:fixed" type="url" value="No Copy">
 <!-- This input used to replace any printscreen value with "No Copy" word in the clipboard -->
 <!-- Popups v1.7.0.1 - http://wordpress.org/plugins/social-popup/-->
 <style type="text/css">
  #spu-115723 {
	background-color: white;
	color: #333;		width: 800px;
}
#spu-bg-115723 {
	opacity: 0.8;
}
/*
* Add custom CSS for this popup
* Be sure to start your rules with #spu-115723 { } and use !important when needed to override plugin rules
*/#spu-115723.spu-animate{animation:spuhinge ease 1s;animation-iteration-count:1;transform-origin:0 0;animation-fill-mode:forwards;-webkit-animation:spuhinge ease 1s;-webkit-animation-iteration-count:1;-webkit-transform-origin:0 0;-webkit-animation-fill-mode:forwards;-moz-animation:spuhinge ease 1s;-moz-animation-iteration-count:1;-moz-transform-origin:0 0;-moz-animation-fill-mode:forwards;-o-animation:spuhinge ease 1s;-o-animation-iteration-count:1;-o-transform-origin:0 0;-o-animation-fill-mode:forwards;-ms-animation:spuhinge ease 1s;-ms-animation-iteration-count:1;-ms-transform-origin:0 0;-ms-animation-fill-mode:forwards}@keyframes spuhinge{0%{opacity:1;transform:rotate(0deg) scaleX(1) scaleY(1)}20%{transform:rotate(60deg)}40%{transform:rotate(40deg)}60%{transform:rotate(54deg)}80%{transform:rotate(42deg)}100%{opacity:1;transform:rotate(0deg) scaleX(1) scaleY(1)}}@-moz-keyframes spuhinge{0%{opacity:1;-moz-transform:rotate(0deg) scaleX(1) scaleY(1)}20%{-moz-transform:rotate(60deg)}40%{-moz-transform:rotate(40deg)}60%{-moz-transform:rotate(54deg)}80%{-moz-transform:rotate(42deg)}100%{opacity:1;-moz-transform:rotate(0deg) scaleX(1) scaleY(1)}}@-webkit-keyframes spuhinge{0%{opacity:1;-webkit-transform:rotate(0deg) scaleX(1) scaleY(1)}20%{-webkit-transform:rotate(60deg)}40%{-webkit-transform:rotate(40deg)}60%{-webkit-transform:rotate(54deg)}80%{-webkit-transform:rotate(42deg)}100%{opacity:1;-webkit-transform:rotate(0deg) scaleX(1) scaleY(1)}}@-o-keyframes spuhinge{0%{opacity:1;-o-transform:rotate(0deg) scaleX(1) scaleY(1)}20%{-o-transform:rotate(60deg)}40%{-o-transform:rotate(40deg)}60%{-o-transform:rotate(54deg)}80%{-o-transform:rotate(42deg)}100%{opacity:1;-o-transform:rotate(0deg) scaleX(1) scaleY(1)}}@-ms-keyframes spuhinge{0%{opacity:1;-ms-transform:rotate(0deg) scaleX(1) scaleY(1)}20%{-ms-transform:rotate(60deg)}40%{-ms-transform:rotate(40deg)}60%{-ms-transform:rotate(54deg)}80%{-ms-transform:rotate(42deg)}100%{opacity:1;-ms-transform:rotate(0deg) scaleX(1) scaleY(1)}}
 </style>
 <div class="spu-bg" id="spu-bg-115723">
 </div>
 <div class="spu-box spu-centered spu-total- " data-ab-group="" data-advanced-close="1" data-auto-hide="0" data-bgopa="0.8" data-box-id="115723" data-close-cookie="30" data-close-on-conversion="" data-converted="" data-cookie="0" data-disable-close="1" data-not_converted="" data-spuanimation="hinge" data-test-mode="0" data-total="" data-trigger="seconds" data-trigger-number="0" data-width="800" id="spu-115723" style="left:-99999px !important;">
  <div class="spu-content">
   <div class="spu-box-container">
    <a href="https://www.volodaily.com/login/">
     <img alt="emailsignuppop2" class="aligncenter wp-image-115800 size-full" height="410" src="https://www.volodaily.com/wp-content/uploads/2016/04/emailsignuppop2.jpg" width="745"/>
    </a>
   </div>
   <div class="spu-box-container" style="text-align: center;">
    Free Registration Needed To Verify Your Identity – By Registering You Agree You are 18+ Years of Age!
   </div>
  </div>
  <span class="spu-close spu-close-popup">
   <i class="spu-icon spu-icon-close">
   </i>
  </span>
  <span class="spu-timer">
  </span>
 </div>
 <!-- / Popups Box -->
 <div class=" fb_reset" id="fb-root">
 </div>
 <!--Enhanced Ecommerce Google Analytics Plugin for Woocommerce by Tatvic Plugin Version:1.0.19-->
 <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/menu.min.js?ver=1.11.4" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/wp-a11y.min.js?ver=4.7.2" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var uiAutocompleteL10n = {"noResults":"No results found.","oneResult":"1 result found. Use up and down arrow keys to navigate.","manyResults":"%d results found. Use up and down arrow keys to navigate.","itemSelected":"Item selected."};
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/autocomplete.min.js?ver=1.11.4" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var MyAcSearch = {"url":"https://www.volodaily.com/wp-admin/admin-ajax.php"};
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-content/themes/salient/nectar/assets/functions/ajax-search/wpss-search-suggest.js" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.11.4" type="text/javascript">
 </script>
 <script type="text/javascript">
  jQuery(document).ready(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Close","currentText":"Today","monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Previous","dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"dateFormat":"mm/dd/yy","firstDay":1,"isRTL":false});});
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/imagesloaded.min.js?ver=3.2.0" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/users-ultra-pro/js/qtip/jquery.qtip.min.js?ver=4.7.2" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/progressbar.min.js?ver=1.11.4" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/custom-facebook-feed/js/cff-scripts.js?ver=2.4.5" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var dot_irecommendthis = {"ajaxurl":"https://www.volodaily.com/wp-admin/admin-ajax.php"};
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/i-recommend-this/js/dot_irecommendthis.js?ver=2.6.0" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/jquery/ui/sortable.min.js?ver=1.11.4" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.70" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/ocean-flavor-by-igor-koshelev/?wc-ajax=%%endpoint%%"};
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=2.6.14" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery.cookie.min.js?ver=1.4.1" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var wc_cart_fragments_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/ocean-flavor-by-igor-koshelev/?wc-ajax=%%endpoint%%","fragment_name":"wc_fragments"};
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=2.6.14" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/themes/salient/js/superfish.js?ver=1.4.8" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var nectarLove = {"ajaxurl":"https://www.volodaily.com/wp-admin/admin-ajax.php","postID":"118750","rooturl":"https://www.volodaily.com","pluginPages":["https://www.volodaily.com/shop/","https://www.volodaily.com/shop/?sidebar=true"],"disqusComments":"false","loveNonce":"a7b26bf37f","mapApiKey":""};
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-content/themes/salient/js/init.js?ver=7.5.02" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/themes/salient/js/infinitescroll.js?ver=1.1" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var mejsL10n = {"language":"en-US","strings":{"Close":"Close","Fullscreen":"Fullscreen","Turn off Fullscreen":"Turn off Fullscreen","Go Fullscreen":"Go Fullscreen","Download File":"Download File","Download Video":"Download Video","Play":"Play","Pause":"Pause","Captions/Subtitles":"Captions/Subtitles","None":"None","Time Slider":"Time Slider","Skip back %1 seconds":"Skip back %1 seconds","Video Player":"Video Player","Audio Player":"Audio Player","Volume Slider":"Volume Slider","Mute Toggle":"Mute Toggle","Unmute":"Unmute","Mute":"Mute","Use Up/Down Arrow keys to increase or decrease volume.":"Use Up/Down Arrow keys to increase or decrease volume.","Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds."}};
var _wpmejsSettings = {"pluginPath":"/wp-includes/js/mediaelement/"};
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/mediaelement/mediaelement-and-player.min.js?ver=2.22.0" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/mediaelement/wp-mediaelement.min.js?ver=4.7.2" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/themes/salient/js/flickity.min.js?ver=1.1.1" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var spuvar = {"is_admin":"","l18n":{"wait":"Please wait","seconds":"seconds ","name_error":"Please enter a valid name","email_error":"Please enter a valid email"},"disable_style":"","safe_mode":"","ajax_mode":"","site_url":"https://www.volodaily.com/","ajax_mode_url":"https://www.volodaily.com/?spu_action=spu_load&lang=","ajax_url":"https://www.volodaily.com/wp-admin/admin-ajax.php","pid":"118750","is_front_page":"","is_category":"","is_archive":"","is_search":"","seconds_confirmation_close":"5","dsampling":"","dsamplingrate":"100","disable_stats":""};
var spuvar_social = [""];
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/popups-premium/public/assets/js/min/public-min.js?ver=1.8.0.1" type="text/javascript">
 </script>
 <script type="text/javascript">
  /* <![CDATA[ */
var cjfm_locale = {"weak":"Weak","medium":"Medium","strong":"Strong","please_wait":"Please wait.."};
/* ]]> */
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/cj-membership-modules/assets/js/cjfm.js?ver=1.6.8" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/cj-membership-modules/cjfm-custom.js?ver=1.6.8" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-includes/js/wp-embed.min.js?ver=4.7.2" type="text/javascript">
 </script>
 <script src="https://www.volodaily.com/wp-content/plugins/js_composer_salient/assets/js/dist/js_composer_front.min.js?ver=4.11.2" type="text/javascript">
 </script>
 <!-- WooCommerce JavaScript -->
 <script type="text/javascript">
  jQuery(function($) { 
tvc_lc="USD";
homepage_json_ATC_link=[];
tvc_fp=[];
tvc_rcp=[];
tvc_rdp=[];
prodpage_json_ATC_link=[];
tvc_pgc=[];
catpage_json_ATC_link=[];
tvc_smd={"tvc_wcv":"2.6.14","tvc_wpv":"4.7.2","tvc_eev":"1.0.19","tvc_cnf":{"t_ee":"yes","t_df":false,"t_gUser":true,"t_UAen":"yes","t_thr":"4"}};
 });
 </script>
</input>
<!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1487150413 -->

Т.е. хочет имя печеньки… а где его взять, если я его не знаю?
Всё, что есть в исходнике — это ссылка на скрипт json, который выдаёт такое:

 /*!
 * jQuery Cookie Plugin v1.4.1
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2013 Klaus Hartl
 * Released under the MIT license
 */
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\"/g,'"').replace(/\\/g,"\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(a){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;n<o;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0!==a.cookie(b)&&(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}});

Отредактировано m0rtal (Фев. 15, 2017 11:48:36)

I’m using wsl2 on windows; after one successful integration test on goerli with pytest on ubuntu, I’m constantly getting this error on running my tests:

requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://goerli.infura.io/v3/MY_PROJECT_ID

Any help would be appreciated.
Thanks a lot.

Full body error is:

def test_owner_can_change_tokens_approval():
if network.show_active() in LOCAL_BLOCKCHAIN_ENVIRONMENTS:
pytest.skip()
account = get_account()

  (staking, koala_Token) = deploy_KoalaToken_and_Staking()
tests/Integration/test_staking_integration.py:68:

scripts/deploy.py:10: in deploy_KoalaToken_and_Staking
koala_Token = KoalaToken.deploy(1000000000000000000000000, {“from”: account})
…/.local/lib/python3.8/site-packages/web3/eth.py:831: in send_raw_transaction
return self._send_raw_transaction(transaction)
…/.local/lib/python3.8/site-packages/web3/module.py:57: in caller
result = w3.manager.request_blocking(method_str,
…/.local/lib/python3.8/site-packages/web3/manager.py:197: in request_blocking
response = self._make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/manager.py:150: in _make_request
return request_func(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/formatting.py:94: in middleware
response = make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/gas_price_strategy.py:90: in middleware
return make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/formatting.py:94: in middleware
response = make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/attrdict.py:33: in middleware
response = make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/formatting.py:94: in middleware
response = make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/formatting.py:94: in middleware
response = make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/formatting.py:94: in middleware
response = make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/buffered_gas_estimate.py:40: in middleware
return make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/middleware/exception_retry_request.py:105: in middleware
return make_request(method, params)
…/.local/lib/python3.8/site-packages/web3/providers/rpc.py:88: in make_request
raw_response = make_post_request(
…/.local/lib/python3.8/site-packages/web3/_utils/request.py:103: in make_post_request
response.raise_for_status()

self = <Response [403]>

def raise_for_status(self):
    """Raises :class:`HTTPError`, if one occurred."""

    http_error_msg = ""
    if isinstance(self.reason, bytes):
        # We attempt to decode utf-8 first because some servers
        # choose to localize their reason strings. If the string
        # isn't utf-8, we fall back to iso-8859-1 for all other
        # encodings. (See PR #3538)
        try:
            reason = self.reason.decode("utf-8")
        except UnicodeDecodeError:
            reason = self.reason.decode("iso-8859-1")
    else:
        reason = self.reason

    if 400 <= self.status_code < 500:
        http_error_msg = (
            f"{self.status_code} Client Error: {reason} for url: {self.url}"
        )

    elif 500 <= self.status_code < 600:
        http_error_msg = (
            f"{self.status_code} Server Error: {reason} for url: {self.url}"
        )

    if http_error_msg:
      raise HTTPError(http_error_msg, response=self)
E requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://goerli.infura.io/v3/MY_PROJECT_ID

…/.local/lib/python3.8/site-packages/requests/models.py:1021: HTTPError

This is the python test script that I tried to run:

def test_owner_can_change_tokens_approval():
# Arrange
if network.show_active() in LOCAL_BLOCKCHAIN_ENVIRONMENTS:
    pytest.skip()
account = get_account()
(staking, koala_Token) = deploy_KoalaToken_and_Staking()
# Act
staking.changeTokenApproval(koala_Token, {"from": account})
# Assert
assert staking.tokenIsApproved(koala_Token) == False

And this is my deployment script:

    from brownie import KoalaToken, Staking
    from scripts.helpful_scripts import get_contract, get_account
    from web3 import Web3
    
    REMAINED_KLA_AMOUNT = Web3.toWei(1000, "ether")
    
    
    def deploy_KoalaToken_and_Staking():
        account = get_account()
        koala_Token = KoalaToken.deploy(1000000000000000000000000, {"from": account})
        staking = Staking.deploy(koala_Token, 30, {"from": account})
        tx = koala_Token.transfer(
            staking,
            koala_Token.totalSupply() - REMAINED_KLA_AMOUNT,
            {"from": account},
        )
        tx.wait(1)
        weth_token = get_contract("weth_token")
        TOKENS_PRIC_FEED_ADDRESSES = {
            koala_Token: get_contract("link_usd_price_feed"),
            weth_token: get_contract("eth_usd_price_feed"),
        }
        TOKENS_RATE = {koala_Token: 6, weth_token: 0.5}
        set_tokens_data(staking, TOKENS_PRIC_FEED_ADDRESSES, TOKENS_RATE, account)
        return staking, koala_Token
    
    
    def set_tokens_data(staking, TOKENS_PRICE_FEED_ADDRESSES, TOKENS_RATE, account):
        for token in TOKENS_PRICE_FEED_ADDRESSES:
            set_tx = staking.setTokensData(
                token,
                TOKENS_RATE[token],
                TOKENS_PRICE_FEED_ADDRESSES[token],
                {"from": account},
            )
            set_tx.wait(1)
    
        return staking

This is the original error:

1

2

3


Вопрос:

Метод urllib.request.urlopen () часто используется для открытия исходного кода веб-страницы, а затем для анализа исходного кода этой страницы, но для некоторых веб-сайтов при использовании этого метода возникает исключение «Ошибка HTTP 403: запрещено».

Например, при выполнении следующего оператора

 urllib.request.urlopen("http://blog.csdn.net/eric_sunah/article/details/11099295")


Появится следующее исключение:

  File "D:Python32liburllibrequest.py", line 475, in open
    response = meth(req, response)
  File "D:Python32liburllibrequest.py", line 587, in http_response
    'http', request, response, code, msg, hdrs)
  File "D:Python32liburllibrequest.py", line 513, in error
    return self._call_chain(*args)
  File "D:Python32liburllibrequest.py", line 447, in _call_chain
    result = func(*args)
  File "D:Python32liburllibrequest.py", line 595, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

анализ:

Вышеуказанное исключение происходит потому, что если вы откроете URL-адрес с помощью urllib.request.urlopen, сервер получит только простой запрос на доступ к странице, но сервер не знает браузер, использованный для отправки этого запроса. Операционная система, аппаратная платформа и другая информация, а также запросы, в которых отсутствует эта информация, часто имеют ненормальный доступ, например, сканеры.

Чтобы предотвратить такой ненормальный доступ, некоторые веб-сайты будут проверять UserAgent (егоИнформационный пакетВключая аппаратную платформу, системупрограммное обеспечение、применениеИ личные предпочтения пользователя), если UserAgent является ненормальным или не существует, то этот запрос будет отклонен (как показано в сообщении об ошибке выше)

Таким образом, вы можете попытаться добавить информацию UserAgent к запросу.

Программа:

Для Python 3.x добавить информацию UserAgent к запросу очень просто, код выглядит следующим образом

# Если вы не добавите следующую строку, urllib2.HTTPError: Ошибка HTTP 403: появится запрещенная ошибка
         # В основном потому, что сайт запрещает сканирование, вы можете добавить информацию заголовка к запросу и притвориться браузером для доступа к User-Agent. Конкретную информацию можно запросить через плагин Firefox FireBug
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
    req = urllib.request.Request(url=chaper_url, headers=headers)
    urllib.request.urlopen(req).read()

После замены urllib.request.urlopen.read () на приведенный выше код, страница с проблемой может быть открыта как обычно

  1. the urllib Module in Python
  2. Check robots.txt to Prevent urllib HTTP Error 403 Forbidden Message
  3. Adding Cookie to the Request Headers to Solve urllib HTTP Error 403 Forbidden Message
  4. Use Session Object to Solve urllib HTTP Error 403 Forbidden Message

Solve Urllib HTTP Error 403 Forbidden Message in Python

Today’s article explains how to deal with an error message (exception), urllib.error.HTTPError: HTTP Error 403: Forbidden, produced by the error class on behalf of the request classes when it faces a forbidden resource.

the urllib Module in Python

The urllib Python module handles URLs for python via different protocols. It is famous for web scrapers who want to obtain data from a particular website.

The urllib contains classes, methods, and functions that perform certain operations such as reading, parsing URLs, and robots.txt. There are four classes, request, error, parse, and robotparser.

Check robots.txt to Prevent urllib HTTP Error 403 Forbidden Message

When using the urllib module to interact with clients or servers via the request class, we might experience specific errors. One of those errors is the HTTP 403 error.

We get urllib.error.HTTPError: HTTP Error 403: Forbidden error message in urllib package while reading a URL. The HTTP 403, the Forbidden Error, is an HTTP status code that indicates that the client or server forbids access to a requested resource.

Therefore, when we see this kind of error message, urllib.error.HTTPError: HTTP Error 403: Forbidden, the server understands the request but decides not to process or authorize the request that we sent.

To understand why the website we are accessing is not processing our request, we need to check an important file, robots.txt. Before web scraping or interacting with a website, it is often advised to review this file to know what to expect and not face any further troubles.

To check it on any website, we can follow the format below.

https://<website.com>/robots.txt

For example, check YouTube, Amazon, and Google robots.txt files.

https://www.youtube.com/robots.txt
https://www.amazon.com/robots.txt
https://www.google.com/robots.txt

Checking YouTube robots.txt gives the following result.

# robots.txt file for YouTube
# Created in the distant future (the year 2000) after
# the robotic uprising of the mid-'90s wiped out all humans.

User-agent: Mediapartners-Google*
Disallow:

User-agent: *
Disallow: /channel/*/community
Disallow: /comment
Disallow: /get_video
Disallow: /get_video_info
Disallow: /get_midroll_info
Disallow: /live_chat
Disallow: /login
Disallow: /results
Disallow: /signup
Disallow: /t/terms
Disallow: /timedtext_video
Disallow: /user/*/community
Disallow: /verify_age
Disallow: /watch_ajax
Disallow: /watch_fragments_ajax
Disallow: /watch_popup
Disallow: /watch_queue_ajax

Sitemap: https://www.youtube.com/sitemaps/sitemap.xml
Sitemap: https://www.youtube.com/product/sitemap.xml

We can notice a lot of Disallow tags there. This Disallow tag shows the website’s area, which is not accessible. Therefore, any request to those areas will not be processed and is forbidden.

In other robots.txt files, we might see an Allow tag. For example, http://youtube.com/comment is forbidden to any external request, even with the urllib module.

Let’s write code to scrape data from a website that returns an HTTP 403 error when accessed.

Example Code:

import urllib.request
import re

webpage = urllib.request.urlopen('https://www.cmegroup.com/markets/products.html?redirect=/trading/products/#cleared=Options&sortField=oi').read()
findrows = re.compile('<tr class="- banding(?:On|Off)>(.*?)</tr>')
findlink = re.compile('<a href =">(.*)</a>')

row_array = re.findall(findrows, webpage)
links = re.findall(findlink, webpage)

print(len(row_array))

Output:

Traceback (most recent call last):
  File "c:UsersakinlDocumentsPythonindex.py", line 7, in <module>
    webpage = urllib.request.urlopen('https://www.cmegroup.com/markets/products.html?redirect=/trading/products/#cleared=Options&sortField=oi').read()
  File "C:Python310liburllibrequest.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "C:Python310liburllibrequest.py", line 525, in open
    response = meth(req, response)
  File "C:Python310liburllibrequest.py", line 634, in http_response
    response = self.parent.error(
  File "C:Python310liburllibrequest.py", line 563, in error
    return self._call_chain(*args)
  File "C:Python310liburllibrequest.py", line 496, in _call_chain
    result = func(*args)
  File "C:Python310liburllibrequest.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

The reason is that we are forbidden from accessing the website. However, if we check the robots.txt file, we will notice that https://www.cmegroup.com/markets/ is not with a Disallow tag. However, if we go down the robots.txt file for the website we wanted to scrape, we will find the below.

User-agent: Python-urllib/1.17
Disallow: /

The above text means that the user agent named Python-urllib is not allowed to crawl any URL within the site. That means using the Python urllib module is not allowed to crawl the site.

Therefore, check or parse the robots.txt to know what resources we have access to. we can parse robots.txt file using the robotparser class. These can prevent our code from experiencing an urllib.error.HTTPError: HTTP Error 403: Forbidden error message.

Passing a valid user agent as a header parameter will quickly fix the problem. The website may use cookies as an anti-scraping measure.

The website may set and ask for cookies to be echoed back to prevent scraping, which is maybe against its policy.

from urllib.request import Request, urlopen

def get_page_content(url, head):

  req = Request(url, headers=head)
  return urlopen(req)

url = 'https://example.com'
head = {
  'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36',
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
  'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
  'Accept-Encoding': 'none',
  'Accept-Language': 'en-US,en;q=0.8',
  'Connection': 'keep-alive',
  'refere': 'https://example.com',
  'cookie': """your cookie value ( you can get that from your web page) """
}

data = get_page_content(url, head).read()
print(data)

Output:

<!doctype html>n<html>n<head>n    <title>Example Domain</title>nn    <meta
'
'
'
<p><a href="https://www.iana.org/domains/example">More information...</a></p>n</div>n</body>n</html>n'

Passing a valid user agent as a header parameter will quickly fix the problem.

Use Session Object to Solve urllib HTTP Error 403 Forbidden Message

Sometimes, even using a user agent won’t stop this error from occurring. The Session object of the requests module can then be used.

from random import seed
import requests

url = "https://stackoverflow.com/search?q=html+error+403"
session_obj = requests.Session()
response = session_obj.get(url, headers={"User-Agent": "Mozilla/5.0"})

print(response.status_code)

Output:

The above article finds the cause of the urllib.error.HTTPError: HTTP Error 403: Forbidden and the solution to handle it. mod_security basically causes this error as different web pages use different security mechanisms to differentiate between human and automated computers (bots).

Перед использованием получите API ключ в кабинете разработчика:

screenshot

Самые важные ответы на вопросы:

  • В открытом. Ваш код будет публично опубликован, это открытая система
  • В бесплатном. Вы пишете код в образовательных целях
  • Буду отображать данные на карте. По шагам урока вам предстоит это сделать

Что дальше?

Мы уже сами написали для вас функцию, которая получит координаты места по его названию, осталось ей воспользоваться. Для её работы нужно установить библиотеку requests==2.*

import requests

def fetch_coordinates(apikey, address):
    base_url = "https://geocode-maps.yandex.ru/1.x"
    response = requests.get(base_url, params={
        "geocode": address,
        "apikey": apikey,
        "format": "json",
    })
    response.raise_for_status()
    found_places = response.json()['response']['GeoObjectCollection']['featureMember']

    if not found_places:
        return None

    most_relevant = found_places[0]
    lon, lat = most_relevant['GeoObject']['Point']['pos'].split(" ")
    return lon, lat

Пример использования:

apikey = '41f31cb9-8414-4c9a-bd82-79ec5d22b8ec'  # ваш ключ

coords = fetch_coordinates(apikey, "Внуково")
print(coords)  # ('37.295014', '55.608562')

coords = fetch_coordinates(apikey, "Серпуховская")
print(coords)  # ('37.624992', '55.726872')

coords = fetch_coordinates(apikey, "Красная площадь")
print(coords)  # ('37.621031', '55.753595')

coords = fetch_coordinates(apikey, "UNEXIST")
print(coords)  # None

Частые проблемы

Порой Яндекс-геокодер отказывается принимать новые ключи. При вызове функция fetch_coordinates ломается с такой ошибкой:

Traceback (most recent call last):
  File "main.py", line 22, in <module>
    coords = fetch_coordinates(apikey2, address)
  File "main.py", line 12, in fetch_coordinates
    response.raise_for_status()
  File "/home/runner/.local/share/virtualenvs/python3/lib/python3.7/site-packages/requests/models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://geocode-maps.yandex.ru/1.x?geocode=Moscow&apikey=41f31cb9-8414-4c9a-bd82-79ec5d22b8ec&format=json

Здесь самая важная часть сообщения находится в последней строке:

HTTPError: 403 Client Error: Forbidden for url ...

Ошибка с кодом403 означает, что сервер отказывается работать с указанным ключом API.

Проблема исчезает сама примерно за полчаса. Столько времени требуется серверам Яндекса на то, чтобы узнать о регистрации нового ключа.


Попробуйте бесплатные уроки по Python

Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

problem:
The urllib.request-urlopen () method is often used to open the source code of a web page and then analyze the source code of the page, but it will throw an “HTTP Error 403: Forbidden” exception for some websites
For example, when the following statement is executed,

 urllib.request.urlopen("http://blog.csdn.net/eric_sunah/article/details/11099295")

will appear the following exception:

  File "D:Python32liburllibrequest.py", line 475, in open
    response = meth(req, response)
  File "D:Python32liburllibrequest.py", line 587, in http_response
    'http', request, response, code, msg, hdrs)
  File "D:Python32liburllibrequest.py", line 513, in error
    return self._call_chain(*args)
  File "D:Python32liburllibrequest.py", line 447, in _call_chain
    result = func(*args)
  File "D:Python32liburllibrequest.py", line 595, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Analysis:
Appear abnormal, because if use urllib request. Open a URL urlopen way, the server will only receive a simple access request for the page, but the server does not know to send the request to use the browser, operating system, hardware platform, such as information, and often lack the information request are normal access, such as the crawler.
In order to prevent this abnormal access, some websites will verify the UserAgent in the request information (its information includes hardware platform, system software, application software, and user preferences). If the UserAgent is abnormal or does not exist, then the request will be rejected (as shown in the error message above).
So you can try to add the UserAgent’s information
to the request
Solution:
For Python 3.x, adding the UserAgent information to the request is simple as follows

#HTTPError: HTTP Error 403: Forbidden error appears if the following line is not added
    #The main reason is that the site is forbidden to crawl, you can add header information to the request, pretending to be a browser to access the User-Agent, specific information can be found through the Firefox FireBug plugin.
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
    req = urllib.request.Request(url=chaper_url, headers=headers)
    urllib.request.urlopen(req).read()

The urllib. Request. Urlopen. Read () to replace the above code, for problems page can normal visit

Понравилась статья? Поделить с друзьями:
  • Requesting shsh 3utools ошибка
  • Requesterror getaddrinfo enotfound rdmr delivery network3 react group ошибка на радмире
  • Requesterror getaddrinfo enotfound rdmr delivery network3 react group как исправить
  • Requesterror error read econnreset
  • Requested url returned error 405