Error message

  • Deprecated function: Return type of DatabaseStatementBase::execute($args = [], $options = []) should either be compatible with PDOStatement::execute(?array $params = null): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2244 of /home/blaalt/www.blairaltman.com/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home/blaalt/www.blairaltman.com/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home/blaalt/www.blairaltman.com/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home/blaalt/www.blairaltman.com/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home/blaalt/www.blairaltman.com/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home/blaalt/www.blairaltman.com/includes/database/database.inc).
  • Deprecated function: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in drupal_random_bytes() (line 2268 of /home/blaalt/www.blairaltman.com/includes/bootstrap.inc).
  • Deprecated function: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in url() (line 2349 of /home/blaalt/www.blairaltman.com/includes/common.inc).
  • Deprecated function: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in url_is_external() (line 2393 of /home/blaalt/www.blairaltman.com/includes/common.inc).
  • Deprecated function: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in url_is_external() (line 2395 of /home/blaalt/www.blairaltman.com/includes/common.inc).
  • Deprecated function: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in url() (line 2311 of /home/blaalt/www.blairaltman.com/includes/common.inc).

AFKO Logo

Category: 
Logos

For their 25th anniversary, the West Kootenay French Association (AFKO) wanted to re-brand themselves. We needed to do something that could be read easily at really small sized and could be printed cheaply without looking horrible. It looked like another font based logo was going to be the answer since an icon didn't fit the bill. However, at the same time I wanted to incorporate some graphic elements to add more visual interest.

The question for me was how to incorporate something French, something Kootenay, and a bunch of text  into an interesting image.

Like usual, finding a font that I liked took forever but once that was dealt with the first design element became apparent. With a little bit of modification the "A" could be reshaped and expanded upon to resemble a Fleur De Lis.

To capture the Kootenay feel I didn't do anything ground breaking and chose to play off of the iconic lake and mountain imagery that is so often associated with the area. The lake at the bottom of the logo gave me a spot to place the expanded version of the AFKO acronym and the letters above allowed me to work in a subtle mountain shape on top of them.

Add in a bit of depth to the shapes, some gradients, and some highlights to give the logo a bit more visual impact and I called it done after getting final approval. This is one that I think I'll be happy with for a while to come and it's definitely cool seeing it around town.