Deprecated: Creation of dynamic property ATTO_PluginUpdate::$license is deprecated in /mnt/storage/stage/www/wp-content/plugins/advanced-taxonomy-terms-order/include/class.atto.plugin-updater.php on line 29
Picture Special: When did Calvin Harris get so hot? - Attitude
Deprecated: mb_convert_encoding(): Handling HTML entities via mbstring is deprecated; use htmlspecialchars, htmlentities, or mb_encode_numericentity/mb_decode_numericentity instead in /mnt/storage/stage/builds/streampublishing-attitude-server/latest-1.16.1-1793359797.063729/pugpig-attitude-theme/functions.php on line 974
Skip to main content
Deprecated: mb_convert_encoding(): Handling HTML entities via mbstring is deprecated; use htmlspecialchars, htmlentities, or mb_encode_numericentity/mb_decode_numericentity instead in /mnt/storage/stage/builds/streampublishing-attitude-server/latest-1.16.1-1793359797.063729/pugpig-attitude-theme/functions.php on line 974

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedField::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedField.php on line 218

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedField::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedField.php on line 116

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedField::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedField.php on line 132

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedField::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedField.php on line 200

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedField::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedField.php on line 225

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedField::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedField.php on line 236

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedFieldIter::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedFieldIter.php on line 78

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedFieldIter::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedFieldIter.php on line 96

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedFieldIter::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedFieldIter.php on line 87

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedFieldIter::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedFieldIter.php on line 105

Deprecated: Return type of PugpigSiteGoogleAnalytics_Vendor\Google\Protobuf\Internal\RepeatedFieldIter::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/storage/stage/builds/pugpig-site-server/latest-1.61.0-1793359797.063729/pugpig-site-google-analytics/src/vendor/google/protobuf/src/Google/Protobuf/Internal/RepeatedFieldIter.php on line 69

Home Culture Culture Sexuality

Picture Special: When did Calvin Harris get so hot?

By Sam Rigby

We’ve always been fans of Calvin Harris here at Attitude HQ, but we never realised quite how hot the Scottish DJ is.

Check out a selection of his favourite pictures of Calvin below. His Instagram handle is @calvinharris, so not too difficult to remember if you fancy giving him a follow.

rs_634x1024-140415143331-634.Calvin-Harris-Shirltess.ms.041514

calvin-harris-topless-instagram-1373981217-view-0

calvin-2

Screen Shot 2014-10-22 at 17.17.32

Screen Shot 2014-10-22 at 17.13.34

Meanwhile, take a look at the DJ hunk looking gorgeous as the new face of Armani here.

If this has left you wanting more, then check out our Zac Efron picture special here, or have a closer look at The Flash actor Grant Gustin here.